test-kitchen 1.17.0 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.kitchen.ci.yml +0 -1
- data/.kitchen.dokken.yml +31 -0
- data/.travis.yml +10 -20
- data/CHANGELOG.md +28 -0
- data/ECOSYSTEM.md +11 -11
- data/Gemfile +20 -1
- data/MAINTAINERS.md +1 -0
- data/README.md +9 -10
- data/Rakefile +2 -2
- data/lib/kitchen/driver/proxy.rb +1 -1
- data/lib/kitchen/driver/ssh_base.rb +1 -1
- data/lib/kitchen/loader/yaml.rb +0 -6
- data/lib/kitchen/provisioner/chef_base.rb +48 -3
- data/lib/kitchen/provisioner/shell.rb +5 -0
- data/lib/kitchen/state_file.rb +0 -5
- data/lib/kitchen/transport/ssh.rb +23 -1
- data/lib/kitchen/verifier/shell.rb +1 -1
- data/lib/kitchen/version.rb +1 -1
- data/spec/kitchen/driver/proxy_spec.rb +7 -13
- data/spec/kitchen/driver/ssh_base_spec.rb +2 -2
- data/spec/kitchen/provisioner/chef_base_spec.rb +101 -0
- data/spec/kitchen/provisioner/chef_solo_spec.rb +12 -0
- data/spec/kitchen/provisioner/chef_zero_spec.rb +12 -0
- data/spec/kitchen/provisioner/shell_spec.rb +5 -0
- data/spec/kitchen/transport/ssh_spec.rb +2 -2
- data/test-kitchen.gemspec +5 -14
- metadata +26 -115
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97e193b25afda7ff71ca265f2b333536dbc66d8f
|
4
|
+
data.tar.gz: f2a5f618364bba733e19fcf833e9966bb8a3a7fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e961821cc1bd26c47f069ff8aef06e00d989addf6b0a0150851a8c367d198d0ae49a1edf13a7027f8d37f450ccb2a12d425cc834649088e78b6b579fdc8a6a80
|
7
|
+
data.tar.gz: afcd17fd1f4956c925af332072cc449b17201875ffc892454b9f53cc24dd3692fea38e926699f6748bd4cde9658292f3723bb992781b7647002033a5d7f9b795
|
data/.kitchen.ci.yml
CHANGED
data/.kitchen.dokken.yml
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
driver:
|
3
|
+
name: dokken
|
4
|
+
privileged: true # because Docker and SystemD/Upstart
|
5
|
+
|
6
|
+
provisioner:
|
7
|
+
name: dokken
|
8
|
+
|
9
|
+
transport:
|
10
|
+
name: dokken
|
11
|
+
|
12
|
+
verifier:
|
13
|
+
name: inspec
|
14
|
+
|
15
|
+
platforms:
|
16
|
+
- name: ubuntu-16.04
|
17
|
+
driver:
|
18
|
+
image: dokken/ubuntu-16.04
|
19
|
+
pid_one_command: /bin/systemd
|
20
|
+
intermediate_instructions:
|
21
|
+
- RUN /usr/bin/apt-get update
|
22
|
+
|
23
|
+
- name: centos-7
|
24
|
+
driver:
|
25
|
+
image: dokken/centos-7
|
26
|
+
pid_one_command: /usr/lib/systemd/systemd
|
27
|
+
|
28
|
+
suites:
|
29
|
+
- name: default
|
30
|
+
run_list:
|
31
|
+
- recipe[test_cookbook::default]
|
data/.travis.yml
CHANGED
@@ -1,31 +1,24 @@
|
|
1
|
+
sudo: required
|
2
|
+
dist: trusty
|
3
|
+
services: docker
|
4
|
+
|
1
5
|
language: ruby
|
2
6
|
|
3
7
|
rvm:
|
4
|
-
- 2.3
|
5
|
-
- 2.4.
|
8
|
+
- 2.3
|
9
|
+
- 2.4.2
|
6
10
|
- ruby-head
|
7
11
|
|
8
|
-
env:
|
9
|
-
- global:
|
10
|
-
- machine_user=travis
|
11
|
-
- machine_pass=travis
|
12
|
-
- machine_port=22
|
13
|
-
|
14
|
-
dist: precise
|
15
|
-
sudo: required
|
16
|
-
#cache: bundler
|
17
12
|
|
18
13
|
before_install:
|
19
|
-
- sudo usermod -p `openssl passwd -1 'travis'` travis
|
20
14
|
- gem --version
|
21
15
|
|
22
|
-
bundler_args: --without
|
16
|
+
bundler_args: --with integration --without changelog debug docs
|
23
17
|
|
24
18
|
script:
|
25
19
|
- bundle exec rake
|
26
|
-
-
|
27
|
-
-
|
28
|
-
- bundle exec kitchen verify ubuntu
|
20
|
+
- export KITCHEN_YAML=.kitchen.dokken.yml
|
21
|
+
- bundle exec kitchen test
|
29
22
|
|
30
23
|
branches:
|
31
24
|
only:
|
@@ -33,7 +26,7 @@ branches:
|
|
33
26
|
|
34
27
|
matrix:
|
35
28
|
include:
|
36
|
-
- rvm: 2.
|
29
|
+
- rvm: 2.4
|
37
30
|
# To run the proxy tests we need additional gems than what Test Kitchen normally uses
|
38
31
|
# for testing
|
39
32
|
gemfile: Gemfile.proxy_tests
|
@@ -61,6 +54,3 @@ matrix:
|
|
61
54
|
- sudo cat /var/log/squid3/access.log
|
62
55
|
allow_failures:
|
63
56
|
- rvm: ruby-head
|
64
|
-
|
65
|
-
notifications:
|
66
|
-
irc: "chat.freenode.net#kitchenci"
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.18.0](https://github.com/test-kitchen/test-kitchen/tree/v1.18.0) (2017-09-28)
|
4
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.17.0...v1.18.0)
|
5
|
+
|
6
|
+
**Fixed bugs:**
|
7
|
+
|
8
|
+
- Shell verifier: Print instance name instead of object [\#1263](https://github.com/test-kitchen/test-kitchen/pull/1263) ([rbngzlv](https://github.com/rbngzlv))
|
9
|
+
|
10
|
+
**Merged pull requests:**
|
11
|
+
|
12
|
+
- reset\_command doesn't actually need to be required [\#1286](https://github.com/test-kitchen/test-kitchen/pull/1286) ([coderanger](https://github.com/coderanger))
|
13
|
+
- Continue to support older net-ssh while fixing 4.2 deprecation [\#1285](https://github.com/test-kitchen/test-kitchen/pull/1285) ([cheeseplus](https://github.com/cheeseplus))
|
14
|
+
- Update winrm-fs and make winrm\* gems proper deps [\#1284](https://github.com/test-kitchen/test-kitchen/pull/1284) ([cheeseplus](https://github.com/cheeseplus))
|
15
|
+
- Pin to net-ssh 4.1.0 for now [\#1283](https://github.com/test-kitchen/test-kitchen/pull/1283) ([cheeseplus](https://github.com/cheeseplus))
|
16
|
+
- idempotent\_check: Allow specificaton of enforce\_idempotency [\#1282](https://github.com/test-kitchen/test-kitchen/pull/1282) ([MarkGibbons](https://github.com/MarkGibbons))
|
17
|
+
- Support renamed net-ssh option `verify\_host\_key` [\#1281](https://github.com/test-kitchen/test-kitchen/pull/1281) ([cheeseplus](https://github.com/cheeseplus))
|
18
|
+
- Reorganized a section and added kitchen-vcenter [\#1279](https://github.com/test-kitchen/test-kitchen/pull/1279) ([jjasghar](https://github.com/jjasghar))
|
19
|
+
- Add proxy support when using product\_name [\#1276](https://github.com/test-kitchen/test-kitchen/pull/1276) ([wrightp](https://github.com/wrightp))
|
20
|
+
- Remove Ruby 1.8.7 compat code [\#1274](https://github.com/test-kitchen/test-kitchen/pull/1274) ([tas50](https://github.com/tas50))
|
21
|
+
- Move extra dev deps to the Gemfile [\#1273](https://github.com/test-kitchen/test-kitchen/pull/1273) ([tas50](https://github.com/tas50))
|
22
|
+
- Add tas50 as a maintainer [\#1270](https://github.com/test-kitchen/test-kitchen/pull/1270) ([tas50](https://github.com/tas50))
|
23
|
+
- Swap IRC for Slack in the readme [\#1269](https://github.com/test-kitchen/test-kitchen/pull/1269) ([tas50](https://github.com/tas50))
|
24
|
+
- Remove rack pin for Ruby 2.1 & move changelog gen to gemfile [\#1268](https://github.com/test-kitchen/test-kitchen/pull/1268) ([tas50](https://github.com/tas50))
|
25
|
+
- Add download\_url and checksum provisioner config options [\#1267](https://github.com/test-kitchen/test-kitchen/pull/1267) ([wrightp](https://github.com/wrightp))
|
26
|
+
- Add kitchen-terraform to the readme [\#1266](https://github.com/test-kitchen/test-kitchen/pull/1266) ([tas50](https://github.com/tas50))
|
27
|
+
- New install\_strategy option used in conjunction with product\_name [\#1262](https://github.com/test-kitchen/test-kitchen/pull/1262) ([wrightp](https://github.com/wrightp))
|
28
|
+
- Allow command line arguments config in shell provisioner [\#943](https://github.com/test-kitchen/test-kitchen/pull/943) ([mmckinst](https://github.com/mmckinst))
|
29
|
+
|
30
|
+
|
3
31
|
## [v1.17.0](https://github.com/test-kitchen/test-kitchen/tree/v1.17.0) (2017-08-11)
|
4
32
|
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.16.0...v1.17.0)
|
5
33
|
|
data/ECOSYSTEM.md
CHANGED
@@ -14,19 +14,17 @@ The following are in the test-kitchen organization
|
|
14
14
|
[![Status](https://travis-ci.org/test-kitchen/kitchen-dsc.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-dsc)| [![Status](https://travis-ci.org/test-kitchen/kitchen-pester.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-pester) | [![Status](https://travis-ci.org/test-kitchen/kitchen-joyent.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-joyent) | [![Status](https://travis-ci.org/test-kitchen/kitchen-opennebula.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-opennebula) | [![Status](https://travis-ci.org/test-kitchen/kitchen-hyperv.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-hyperv) | [![Status](https://travis-ci.org/test-kitchen/kitchen-cloudstack.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-cloudstack)
|
15
15
|
[![Gem Version](https://badge.fury.io/rb/kitchen-dsc.svg)](http://badge.fury.io/rb/kitchen-dsc) | [![Gem Version](https://badge.fury.io/rb/kitchen-pester.svg)](http://badge.fury.io/rb/kitchen-pester) | [![Gem Version](https://badge.fury.io/rb/kitchen-joyent.svg)](http://badge.fury.io/rb/kitchen-joyent) | [![Gem Version](https://badge.fury.io/rb/kitchen-opennebula.svg)](http://badge.fury.io/rb/kitchen-opennebula) | [![Gem Version](https://badge.fury.io/rb/kitchen-hyperv.svg)](http://badge.fury.io/rb/kitchen-hyperv) | [![Gem Version](https://badge.fury.io/rb/kitchen-cloudstack.svg)](http://badge.fury.io/rb/kitchen-cloudstack)
|
16
16
|
|
17
|
-
The following are written by the [chef][chef]
|
17
|
+
The following are written by the [chef][chef] company.
|
18
18
|
|
19
19
|
[kitchen-appbundle-updater][appbundle-updater] | [kitchen-inspec][inspec]
|
20
20
|
---- | ---- |
|
21
21
|
[![Status](https://travis-ci.org/chef/kitchen-appbundle-updater.svg?branch=master)](https://travis-ci.org/chef/kitchen-appbundle-updater)| [![Status](https://travis-ci.org/chef/kitchen-inspec.svg?branch=master)](https://travis-ci.org/chef/kitchen-inspec) |
|
22
22
|
[![Gem Version](https://badge.fury.io/rb/kitchen-appbundle-updater.svg)](http://badge.fury.io/rb/kitchen-appbundle-updater) | [![Gem Version](https://badge.fury.io/rb/kitchen-inspec.svg)](http://badge.fury.io/rb/kitchen-inspec) |
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
[kitchen-vra]
|
27
|
-
|
28
|
-
[![Status](https://travis-ci.org/chef-partners/kitchen-vra.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vra)| [![Status](https://travis-ci.org/chef-partners/kitchen-vro.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vro) | [![Status](https://travis-ci.org/chef-partners/kitchen-vcair.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vcair) | [![Status](https://travis-ci.org/chef-partners/kitchen-oraclecloud.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-oraclecloud) | [![Status](https://travis-ci.org/chef-partners/kitchen-ssh-cisco.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-ssh-cisco) | [![Status](https://travis-ci.org/test-kitchen/kitchen-cloudstack.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-cloudstack)
|
29
|
-
[![Gem Version](https://badge.fury.io/rb/kitchen-vra.svg)](http://badge.fury.io/rb/kitchen-vra) | [![Gem Version](https://badge.fury.io/rb/kitchen-vro.svg)](http://badge.fury.io/rb/kitchen-vro) | [![Gem Version](https://badge.fury.io/rb/kitchen-vcair.svg)](http://badge.fury.io/rb/kitchen-vcair) | [![Gem Version](https://badge.fury.io/rb/kitchen-oraclecloud.svg)](http://badge.fury.io/rb/kitchen-oraclecloud) | [![Gem Version](https://badge.fury.io/rb/kitchen-ssh-cisco.svg)](http://badge.fury.io/rb/kitchen-ssh-cisco)
|
24
|
+
[kitchen-vra][vra] | [kitchen-vro][vro] | [kitchen-vcair][vcair] | [kitchen-oraclecloud][oracle] | [kitchen-ssh-cisco][sadpanda] | [kitchen-vcenter][vcenter]
|
25
|
+
---- | ---- | ---- | ---- | ---- | ---- |
|
26
|
+
[![Status](https://travis-ci.org/chef-partners/kitchen-vra.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vra)| [![Status](https://travis-ci.org/chef-partners/kitchen-vro.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vro) | [![Status](https://travis-ci.org/chef-partners/kitchen-vcair.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-vcair) | [![Status](https://travis-ci.org/chef-partners/kitchen-oraclecloud.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-oraclecloud) | [![Status](https://travis-ci.org/chef-partners/kitchen-ssh-cisco.svg?branch=master)](https://travis-ci.org/chef-partners/kitchen-ssh-cisco) | [![Status](https://travis-ci.org/chef/kitchen-vcenter.svg?branch=master)](https://travis-ci.org/chef/kitchen-vcenter)
|
27
|
+
[![Gem Version](https://badge.fury.io/rb/kitchen-vra.svg)](http://badge.fury.io/rb/kitchen-vra) | [![Gem Version](https://badge.fury.io/rb/kitchen-vro.svg)](http://badge.fury.io/rb/kitchen-vro) | [![Gem Version](https://badge.fury.io/rb/kitchen-vcair.svg)](http://badge.fury.io/rb/kitchen-vcair) | [![Gem Version](https://badge.fury.io/rb/kitchen-oraclecloud.svg)](http://badge.fury.io/rb/kitchen-oraclecloud) | [![Gem Version](https://badge.fury.io/rb/kitchen-ssh-cisco.svg)](http://badge.fury.io/rb/kitchen-ssh-cisco) | [![Gem Version](https://badge.fury.io/rb/kitchen-vcenter.svg)](http://badge.fury.io/rb/kitchen-vcenter)
|
30
28
|
|
31
29
|
The following are community driven plugins.
|
32
30
|
|
@@ -40,10 +38,10 @@ The following are community driven plugins.
|
|
40
38
|
[![Status](https://travis-ci.org/mwrock/kitchen-nodes.svg?branch=master)](https://travis-ci.org/mwwrock/kitchen-nodes) | [![Status](https://travis-ci.org/higanworks/kitchen-zcloudjp.svg?branch=master)](https://travis-ci.org/higanworks/kitchen-zcloudjp) | [![Status](https://travis-ci.org/blueboxgroup/kitchen-bluebox.svg?branch=master)](https://travis-ci.org/blueboxgroup/kitchen-bluebox) | [![Status](https://travis-ci.org/neillturner/kitchen-softlayer.svg?branch=master)](https://travis-ci.org/neillturner/kitchen-softlayer) | [![Status](https://travis-ci.org/ssplatt/kitchen-linode.svg?branch=master)](https://travis-ci.org/ssplatt/kitchen-linode) | [![Status](https://travis-ci.org/ssplatt/kitchen-docker.svg?branch=master)](https://travis-ci.org/portertech/kitchen-docker)
|
41
39
|
[![Gem Version](https://badge.fury.io/rb/kitchen-nodes.svg)](http://badge.fury.io/rb/kitchen-nodes) | [![Gem Version](https://badge.fury.io/rb/kitchen-zcloudjp.svg)](http://badge.fury.io/rb/kitchen-zcloudjp) | [![Gem Version](https://badge.fury.io/rb/kitchen-bluebox.svg)](http://badge.fury.io/rb/kitchen-bluebox) | [![Gem Version](https://badge.fury.io/rb/kitchen-softlayer.svg)](http://badge.fury.io/rb/kitchen-softlayer) | [![Gem Version](https://badge.fury.io/rb/kitchen-linode.svg)](http://badge.fury.io/rb/kitchen-linode) | [![Gem Version](https://badge.fury.io/rb/kitchen-docker.svg)](http://badge.fury.io/rb/kitchen-docker)
|
42
40
|
|
43
|
-
[kitchen-qemu][qemu] | [kitchen-cfengine][cfengine] | [kitchen-cloudformation][cloudformation] | [kitchen-wpar][wpar] | [kitchen-powervc][powervc]
|
44
|
-
---- | ---- | ---- | ---- | ---- |
|
45
|
-
[![Status](https://travis-ci.org/esmil/kitchen-qemu.svg?branch=master)](https://travis-ci.org/esmil/kitchen-qemu)| [![Status](https://travis-ci.org/nmische/kitchen-cfengine.svg?branch=master)](https://travis-ci.org/nmische/kitchen-cfengine) | [![Status](https://travis-ci.org/neillturner/kitchen-cloudformation.svg?branch=master)](https://travis-ci.org/neillturner/kitchen-cloudformation) | [![Status](https://travis-ci.org/adejoux/kitchen-wpar.svg?branch=master)](https://travis-ci.org/adejoux/kitchen-wpar) | [![Status](https://travis-ci.org/chmod666org/kitchen-powervc.svg?branch=master)](https://travis-ci.org/chmod666org/kitchen-powervc)
|
46
|
-
[![Gem Version](https://badge.fury.io/rb/kitchen-qemu.svg)](http://badge.fury.io/rb/kitchen-qemu) | [![Gem Version](https://badge.fury.io/rb/kitchen-cfengine.svg)](http://badge.fury.io/rb/kitchen-cfengine) | [![Gem Version](https://badge.fury.io/rb/kitchen-cloudformation.svg)](http://badge.fury.io/rb/kitchen-cloudformation) | [![Gem Version](https://badge.fury.io/rb/kitchen-wpar.svg)](http://badge.fury.io/rb/kitchen-wpar) | [![Gem Version](https://badge.fury.io/rb/kitchen-powervc.svg)](http://badge.fury.io/rb/kitchen-powervc)
|
41
|
+
[kitchen-qemu][qemu] | [kitchen-cfengine][cfengine] | [kitchen-cloudformation][cloudformation] | [kitchen-wpar][wpar] | [kitchen-powervc][powervc] | [kitchen-terraform][terraform]
|
42
|
+
---- | ---- | ---- | ---- | ---- | ----
|
43
|
+
[![Status](https://travis-ci.org/esmil/kitchen-qemu.svg?branch=master)](https://travis-ci.org/esmil/kitchen-qemu)| [![Status](https://travis-ci.org/nmische/kitchen-cfengine.svg?branch=master)](https://travis-ci.org/nmische/kitchen-cfengine) | [![Status](https://travis-ci.org/neillturner/kitchen-cloudformation.svg?branch=master)](https://travis-ci.org/neillturner/kitchen-cloudformation) | [![Status](https://travis-ci.org/adejoux/kitchen-wpar.svg?branch=master)](https://travis-ci.org/adejoux/kitchen-wpar) | [![Status](https://travis-ci.org/chmod666org/kitchen-powervc.svg?branch=master)](https://travis-ci.org/chmod666org/kitchen-powervc) | [![Status](https://travis-ci.org/newcontext-oss/kitchen-terraform.svg?branch=master)](https://travis-ci.org/newcontext-oss/kitchen-terraform)
|
44
|
+
[![Gem Version](https://badge.fury.io/rb/kitchen-qemu.svg)](http://badge.fury.io/rb/kitchen-qemu) | [![Gem Version](https://badge.fury.io/rb/kitchen-cfengine.svg)](http://badge.fury.io/rb/kitchen-cfengine) | [![Gem Version](https://badge.fury.io/rb/kitchen-cloudformation.svg)](http://badge.fury.io/rb/kitchen-cloudformation) | [![Gem Version](https://badge.fury.io/rb/kitchen-wpar.svg)](http://badge.fury.io/rb/kitchen-wpar) | [![Gem Version](https://badge.fury.io/rb/kitchen-powervc.svg)](http://badge.fury.io/rb/kitchen-powervc) | [![Gem Version](https://badge.fury.io/rb/kitchen-terraform.svg)](http://badge.fury.io/rb/kitchen-terraform)
|
47
45
|
|
48
46
|
[kitchen-azurerm][azurerm] |
|
49
47
|
---- |
|
@@ -66,6 +64,7 @@ The following are community driven plugins.
|
|
66
64
|
[cloudstack]: https://github.com/test-kitchen/kitchen-cloudstack
|
67
65
|
[vra]: https://github.com/chef-partners/kitchen-vra
|
68
66
|
[vro]: https://github.com/chef-partners/kitchen-vro
|
67
|
+
[vcenter]: https://github.com/chef/kitchen-vcenter
|
69
68
|
[vcair]: https://github.com/chef-partners/kitchen-vcair
|
70
69
|
[oracle]: https://github.com/chef-partners/kitchen-oraclecloud
|
71
70
|
[sadpanda]: https://github.com/chef-partners/kitchen-ssh-cisco
|
@@ -90,3 +89,4 @@ The following are community driven plugins.
|
|
90
89
|
[chef]: https://chef.io
|
91
90
|
[azurerm]: http://github.com/pendrica/kitchen-azurerm
|
92
91
|
[docker]: https://github.com/portertech/kitchen-docker
|
92
|
+
[terraform]: https://github.com/newcontext-oss/kitchen-terraform
|
data/Gemfile
CHANGED
@@ -1,13 +1,32 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
source "https://rubygems.org"
|
3
3
|
gemspec
|
4
|
-
gem "rack", "< 2.0"
|
5
4
|
|
6
5
|
gem "train", "~> 0.22"
|
7
6
|
|
8
7
|
group :integration do
|
9
8
|
gem "berkshelf"
|
10
9
|
gem "kitchen-inspec"
|
10
|
+
gem "kitchen-dokken"
|
11
|
+
gem "kitchen-vagrant"
|
12
|
+
end
|
13
|
+
|
14
|
+
group :changelog do
|
15
|
+
gem "github_changelog_generator", "1.11.3"
|
16
|
+
end
|
17
|
+
|
18
|
+
group :debug do
|
19
|
+
gem "pry"
|
20
|
+
gem "pry-byebug"
|
21
|
+
gem "pry-stack_explorer"
|
22
|
+
end
|
23
|
+
|
24
|
+
group :chefstyle do
|
25
|
+
gem "chefstyle"
|
26
|
+
end
|
27
|
+
|
28
|
+
group :docs do
|
29
|
+
gem "yard"
|
11
30
|
end
|
12
31
|
|
13
32
|
instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
|
data/MAINTAINERS.md
CHANGED
data/README.md
CHANGED
@@ -3,12 +3,12 @@
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/test-kitchen.svg)](http://badge.fury.io/rb/test-kitchen)
|
4
4
|
[![Build Status](https://secure.travis-ci.org/test-kitchen/test-kitchen.svg?branch=master)](https://travis-ci.org/test-kitchen/test-kitchen)
|
5
5
|
|
6
|
-
| |
|
7
|
-
|
8
|
-
| Website | http://kitchen.ci
|
9
|
-
| Source Code | http://kitchen.ci/docs/getting-started/
|
10
|
-
|
|
11
|
-
| Twitter | [@kitchenci][twitter]
|
6
|
+
| | |
|
7
|
+
| ----------- | --------------------------------------------------------------------------------|
|
8
|
+
| Website | [http://kitchen.ci][website] |
|
9
|
+
| Source Code | [http://kitchen.ci/docs/getting-started/][guide] |
|
10
|
+
| Slack | [#test-kitchen][slack] channel on Chef Community Slack, [transcript][slack_log] |
|
11
|
+
| Twitter | [@kitchenci][twitter] |
|
12
12
|
|
13
13
|
> **Test Kitchen is an integration tool for developing and testing
|
14
14
|
> infrastructure code and software on isolated target platforms.**
|
@@ -124,16 +124,15 @@ a growing community of [contributors][contributors].
|
|
124
124
|
|
125
125
|
Apache License, Version 2.0 (see [LICENSE][license])
|
126
126
|
|
127
|
-
[botbotme]: https://botbot.me/
|
128
127
|
[contributors]: https://github.com/test-kitchen/test-kitchen/graphs/contributors
|
128
|
+
[ecosystem]: https://github.com/test-kitchen/test-kitchen/blob/master/ECOSYSTEM.md
|
129
129
|
[fnichol]: https://github.com/fnichol
|
130
130
|
[guide]: http://kitchen.ci/docs/getting-started/
|
131
|
-
[irc]: http://webchat.freenode.net/?channels=kitchenci
|
132
|
-
[irc_log]: https://botbot.me/freenode/kitchenci/
|
133
131
|
[issues]: https://github.com/test-kitchen/test-kitchen/issues
|
134
132
|
[license]: https://github.com/test-kitchen/test-kitchen/blob/master/LICENSE
|
135
133
|
[repo]: https://github.com/test-kitchen/test-kitchen
|
136
134
|
[semver]: http://semver.org/
|
135
|
+
[slack]: https://chefcommunity.slack.com/messages/testkitchen/details/
|
136
|
+
[slack_log]: https://chefcommunity.slackarchive.io/test-kitchen
|
137
137
|
[twitter]: https://twitter.com/kitchenci
|
138
138
|
[website]: http://kitchen.ci
|
139
|
-
[ecosystem]: https://github.com/test-kitchen/test-kitchen/blob/master/ECOSYSTEM.md
|
data/Rakefile
CHANGED
@@ -37,7 +37,7 @@ begin
|
|
37
37
|
task.options += ["--display-cop-names", "--no-color"]
|
38
38
|
end
|
39
39
|
rescue LoadError
|
40
|
-
puts "chefstyle is not available.
|
40
|
+
puts "chefstyle is not available. (sudo) gem install chefstyle to do style checking."
|
41
41
|
end
|
42
42
|
|
43
43
|
desc "Run all quality tasks"
|
@@ -64,5 +64,5 @@ begin
|
|
64
64
|
end
|
65
65
|
rescue LoadError
|
66
66
|
puts "github_changelog_generator is not available." \
|
67
|
-
" gem install github_changelog_generator to generate changelogs"
|
67
|
+
" (sudo) gem install github_changelog_generator to generate changelogs"
|
68
68
|
end
|
data/lib/kitchen/driver/proxy.rb
CHANGED
@@ -239,7 +239,7 @@ module Kitchen
|
|
239
239
|
|
240
240
|
opts = {}
|
241
241
|
opts[:user_known_hosts_file] = "/dev/null"
|
242
|
-
opts[:
|
242
|
+
opts[:verify_host_key] = false
|
243
243
|
opts[:keys_only] = true if combined[:ssh_key]
|
244
244
|
opts[:password] = combined[:password] if combined[:password]
|
245
245
|
opts[:forward_agent] = combined[:forward_agent] if combined.key? :forward_agent
|
data/lib/kitchen/loader/yaml.rb
CHANGED
@@ -18,12 +18,6 @@
|
|
18
18
|
|
19
19
|
require "erb"
|
20
20
|
require "vendor/hash_recursive_merge"
|
21
|
-
|
22
|
-
if RUBY_VERSION <= "1.9.3"
|
23
|
-
# ensure that Psych and not Syck is used for Ruby 1.9.2
|
24
|
-
require "yaml"
|
25
|
-
YAML::ENGINE.yamler = "psych"
|
26
|
-
end
|
27
21
|
require "safe_yaml/load"
|
28
22
|
|
29
23
|
module Kitchen
|
@@ -106,6 +106,31 @@ module Kitchen
|
|
106
106
|
end
|
107
107
|
expand_path_for :encrypted_data_bag_secret_key_path
|
108
108
|
|
109
|
+
#
|
110
|
+
# New configuration options per RFC 091
|
111
|
+
# https://github.com/chef/chef-rfc/blob/master/rfc091-deprecate-kitchen-settings.md
|
112
|
+
#
|
113
|
+
|
114
|
+
# Setting product_name to nil. It is currently the pivot point
|
115
|
+
# between the two install paths (Mixlib::Install::ScriptGenerator and Mixlib::Install)
|
116
|
+
default_config :product_name
|
117
|
+
|
118
|
+
default_config :product_version, :latest
|
119
|
+
|
120
|
+
default_config :channel, :stable
|
121
|
+
|
122
|
+
default_config :install_strategy, "once"
|
123
|
+
|
124
|
+
default_config :platform
|
125
|
+
|
126
|
+
default_config :platform_version
|
127
|
+
|
128
|
+
default_config :architecture
|
129
|
+
|
130
|
+
default_config :download_url
|
131
|
+
|
132
|
+
default_config :checksum
|
133
|
+
|
109
134
|
# Reads the local Chef::Config object (if present). We do this because
|
110
135
|
# we want to start bring Chef config and ChefDK tool config closer
|
111
136
|
# together. For example, we want to configure proxy settings in 1
|
@@ -149,6 +174,7 @@ module Kitchen
|
|
149
174
|
# (see Base#install_command)
|
150
175
|
def install_command
|
151
176
|
return unless config[:require_chef_omnibus] || config[:product_name]
|
177
|
+
return if config[:product_name] && config[:install_strategy] == "skip"
|
152
178
|
prefix_command(sudo(install_script_contents))
|
153
179
|
end
|
154
180
|
|
@@ -334,12 +360,31 @@ module Kitchen
|
|
334
360
|
installer = Mixlib::Install.new({
|
335
361
|
product_name: config[:product_name],
|
336
362
|
product_version: config[:product_version],
|
337
|
-
channel:
|
363
|
+
channel: config[:channel].to_sym,
|
364
|
+
install_command_options: {
|
365
|
+
install_strategy: config[:install_strategy],
|
366
|
+
},
|
338
367
|
}.tap do |opts|
|
339
368
|
opts[:shell_type] = :ps1 if powershell_shell?
|
340
369
|
[:platform, :platform_version, :architecture].each do |key|
|
341
370
|
opts[key] = config[key] if config[key]
|
342
371
|
end
|
372
|
+
|
373
|
+
if config[:download_url]
|
374
|
+
opts[:install_command_options][:download_url_override] = config[:download_url]
|
375
|
+
opts[:install_command_options][:checksum] = config[:checksum] if config[:checksum]
|
376
|
+
end
|
377
|
+
|
378
|
+
proxies = {}.tap do |prox|
|
379
|
+
[:http_proxy, :https_proxy, :ftp_proxy, :no_proxy].each do |key|
|
380
|
+
prox[key] = config[key] if config[key]
|
381
|
+
end
|
382
|
+
|
383
|
+
# install.ps1 only supports http_proxy
|
384
|
+
prox.delete_if { |p| [:https_proxy, :ftp_proxy, :no_proxy].include?(p) } if powershell_shell?
|
385
|
+
end
|
386
|
+
|
387
|
+
opts[:install_command_options].merge!(proxies)
|
343
388
|
end)
|
344
389
|
config[:chef_omnibus_root] = installer.root
|
345
390
|
if powershell_shell?
|
@@ -415,13 +460,13 @@ module Kitchen
|
|
415
460
|
file.write(format_config_file(data))
|
416
461
|
end
|
417
462
|
|
418
|
-
prepare_config_idempotency_check if config[:enforce_idempotency]
|
463
|
+
prepare_config_idempotency_check(data) if config[:enforce_idempotency]
|
419
464
|
end
|
420
465
|
|
421
466
|
# Writes a configuration file to the sandbox directory
|
422
467
|
# to check for idempotency of the run.
|
423
468
|
# @api private
|
424
|
-
def prepare_config_idempotency_check
|
469
|
+
def prepare_config_idempotency_check(data)
|
425
470
|
handler_filename = "chef-client-fail-if-update-handler.rb"
|
426
471
|
source = File.join(
|
427
472
|
File.dirname(__FILE__), %w{.. .. .. support }, handler_filename
|
@@ -74,6 +74,11 @@ module Kitchen
|
|
74
74
|
config[:root_path],
|
75
75
|
File.basename(config[:script])
|
76
76
|
)
|
77
|
+
|
78
|
+
if config[:arguments]
|
79
|
+
script.concat(" ").concat(config[:arguments])
|
80
|
+
end
|
81
|
+
|
77
82
|
code = powershell_shell? ? %{& "#{script}"} : sudo(script)
|
78
83
|
|
79
84
|
prefix_command(wrap_shell_code(code))
|
data/lib/kitchen/state_file.rb
CHANGED
@@ -16,11 +16,6 @@
|
|
16
16
|
# See the License for the specific language governing permissions and
|
17
17
|
# limitations under the License.
|
18
18
|
|
19
|
-
if RUBY_VERSION <= "1.9.3"
|
20
|
-
# ensure that Psych and not Syck is used for Ruby 1.9.2
|
21
|
-
require "yaml"
|
22
|
-
YAML::ENGINE.yamler = "psych"
|
23
|
-
end
|
24
19
|
require "safe_yaml/load"
|
25
20
|
|
26
21
|
module Kitchen
|
@@ -399,7 +399,6 @@ module Kitchen
|
|
399
399
|
opts = {
|
400
400
|
logger: logger,
|
401
401
|
user_known_hosts_file: "/dev/null",
|
402
|
-
paranoid: false,
|
403
402
|
hostname: data[:hostname],
|
404
403
|
port: data[:port],
|
405
404
|
username: data[:username],
|
@@ -430,9 +429,32 @@ module Kitchen
|
|
430
429
|
opts[:forward_agent] = data[:forward_agent] if data.key?(:forward_agent)
|
431
430
|
opts[:verbose] = data[:verbose].to_sym if data.key?(:verbose)
|
432
431
|
|
432
|
+
# disable host key verification. The hash key to use
|
433
|
+
# depends on the version of net-ssh in use.
|
434
|
+
opts[verify_host_key_option] = false
|
435
|
+
|
433
436
|
opts
|
434
437
|
end
|
435
438
|
|
439
|
+
#
|
440
|
+
# Returns the correct host-key-verification option key to use depending
|
441
|
+
# on what version of net-ssh is in use. In net-ssh <= 4.1, the supported
|
442
|
+
# parameter is `paranoid` but in 4.2, it became `verify_host_key`
|
443
|
+
#
|
444
|
+
# `verify_host_key` does not work in <= 4.1, and `paranoid` throws
|
445
|
+
# deprecation warnings in >= 4.2.
|
446
|
+
#
|
447
|
+
# While the "right thing" to do would be to pin train's dependency on
|
448
|
+
# net-ssh to ~> 4.2, this will prevent InSpec from being used in
|
449
|
+
# Chef v12 because of it pinning to a v3 of net-ssh.
|
450
|
+
#
|
451
|
+
def verify_host_key_option
|
452
|
+
current_net_ssh = Net::SSH::Version::CURRENT
|
453
|
+
new_option_version = Net::SSH::Version[4, 2, 0]
|
454
|
+
|
455
|
+
current_net_ssh >= new_option_version ? :verify_host_key : :paranoid
|
456
|
+
end
|
457
|
+
|
436
458
|
# Creates a new SSH Connection instance and save it for potential future
|
437
459
|
# reuse.
|
438
460
|
#
|
@@ -38,7 +38,7 @@ module Kitchen
|
|
38
38
|
|
39
39
|
# (see Base#call)
|
40
40
|
def call(state)
|
41
|
-
info("[#{name}] Verify on instance
|
41
|
+
info("[#{name}] Verify on instance #{instance.name} with state=#{state}")
|
42
42
|
sleep_if_set
|
43
43
|
merge_state_to_env(state)
|
44
44
|
if config[:remote_exec]
|
data/lib/kitchen/version.rb
CHANGED
@@ -52,21 +52,15 @@ describe Kitchen::Driver::Proxy do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
describe "required_config" do
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
begin
|
60
|
-
driver
|
61
|
-
flunk "UserError must be raised for missing :#{attr}"
|
62
|
-
rescue Kitchen::UserError => e
|
63
|
-
e.message.must_match regexify("config[:#{attr}] cannot be blank")
|
64
|
-
end
|
65
|
-
end
|
55
|
+
it "requires host" do
|
56
|
+
config.delete(:host)
|
57
|
+
err = assert_raises(Kitchen::UserError) { driver }
|
58
|
+
err.message.must_include "config[:host] cannot be blank"
|
66
59
|
end
|
67
60
|
|
68
|
-
|
69
|
-
|
61
|
+
it "does not require reset_command" do
|
62
|
+
config.delete(:reset_command)
|
63
|
+
driver # Just make sure it doesn't raise
|
70
64
|
end
|
71
65
|
end
|
72
66
|
|
@@ -828,9 +828,9 @@ describe Kitchen::Driver::SSHBase do
|
|
828
828
|
cmd
|
829
829
|
end
|
830
830
|
|
831
|
-
it "with :
|
831
|
+
it "with :verify_host_key option set to false" do
|
832
832
|
Kitchen::SSH.expects(:new).with do |_hostname, _username, opts|
|
833
|
-
opts[:
|
833
|
+
opts[:verify_host_key].must_equal false
|
834
834
|
end.returns(connection)
|
835
835
|
|
836
836
|
cmd
|
@@ -132,6 +132,38 @@ describe Kitchen::Provisioner::ChefBase do
|
|
132
132
|
provisioner[:encrypted_data_bag_secret_key_path]
|
133
133
|
.must_equal os_safe_root_path("/rooty/<calculated>/encrypted_data_bag_secret_key")
|
134
134
|
end
|
135
|
+
|
136
|
+
it ":product_name default to nil" do
|
137
|
+
provisioner[:product_name].must_be_nil
|
138
|
+
end
|
139
|
+
|
140
|
+
it ":product_version defaults to :latest" do
|
141
|
+
provisioner[:product_version].must_equal :latest
|
142
|
+
end
|
143
|
+
|
144
|
+
it ":channel defaults to :stable" do
|
145
|
+
provisioner[:channel].must_equal :stable
|
146
|
+
end
|
147
|
+
|
148
|
+
it ":platform default to nil" do
|
149
|
+
provisioner[:platform].must_be_nil
|
150
|
+
end
|
151
|
+
|
152
|
+
it ":platform_version default to nil" do
|
153
|
+
provisioner[:platform_version].must_be_nil
|
154
|
+
end
|
155
|
+
|
156
|
+
it ":architecture default to nil" do
|
157
|
+
provisioner[:architecture].must_be_nil
|
158
|
+
end
|
159
|
+
|
160
|
+
it ":download_url default to nil" do
|
161
|
+
provisioner[:download_url].must_be_nil
|
162
|
+
end
|
163
|
+
|
164
|
+
it ":checksum default to nil" do
|
165
|
+
provisioner[:checksum].must_be_nil
|
166
|
+
end
|
135
167
|
end
|
136
168
|
|
137
169
|
describe "#install_command" do
|
@@ -417,6 +449,75 @@ describe Kitchen::Provisioner::ChefBase do
|
|
417
449
|
end.returns(installer)
|
418
450
|
cmd
|
419
451
|
end
|
452
|
+
|
453
|
+
it "will set install_strategy to once when not given" do
|
454
|
+
Mixlib::Install.expects(:new).with do |opts|
|
455
|
+
opts[:install_command_options][:install_strategy].must_equal "once"
|
456
|
+
end.returns(installer)
|
457
|
+
cmd
|
458
|
+
end
|
459
|
+
|
460
|
+
it "will set install_strategy when given" do
|
461
|
+
config[:install_strategy] = "always"
|
462
|
+
Mixlib::Install.expects(:new).with do |opts|
|
463
|
+
opts[:install_command_options][:install_strategy].must_equal "always"
|
464
|
+
end.returns(installer)
|
465
|
+
cmd
|
466
|
+
end
|
467
|
+
|
468
|
+
it "will set the download_url and checksum if given" do
|
469
|
+
config[:download_url] = "http://url/path"
|
470
|
+
config[:checksum] = "abcd"
|
471
|
+
|
472
|
+
Mixlib::Install.expects(:new).with do |opts|
|
473
|
+
opts[:install_command_options][:download_url_override].must_equal "http://url/path"
|
474
|
+
opts[:install_command_options][:checksum].must_equal "abcd"
|
475
|
+
end.returns(installer)
|
476
|
+
cmd
|
477
|
+
end
|
478
|
+
|
479
|
+
it "will set the http_proxy and https_proxy if given" do
|
480
|
+
config[:http_proxy] = "http://url/path:8000"
|
481
|
+
config[:https_proxy] = "http://url/path:8000"
|
482
|
+
|
483
|
+
Mixlib::Install.expects(:new).with do |opts|
|
484
|
+
opts[:install_command_options][:http_proxy].must_equal "http://url/path:8000"
|
485
|
+
opts[:install_command_options][:https_proxy].must_equal "http://url/path:8000"
|
486
|
+
end.returns(installer)
|
487
|
+
cmd
|
488
|
+
end
|
489
|
+
|
490
|
+
it "will set the http_proxy only for powershell" do
|
491
|
+
config[:http_proxy] = "http://url/path:8000"
|
492
|
+
config[:https_proxy] = "http://url/path:8000"
|
493
|
+
platform.stubs(:shell_type).returns("powershell")
|
494
|
+
platform.stubs(:os_type).returns("windows")
|
495
|
+
|
496
|
+
Mixlib::Install.expects(:new).with do |opts|
|
497
|
+
opts[:install_command_options][:http_proxy].must_equal "http://url/path:8000"
|
498
|
+
opts[:install_command_options][:https_proxy].must_be_nil
|
499
|
+
end.returns(installer)
|
500
|
+
cmd
|
501
|
+
end
|
502
|
+
|
503
|
+
it "will not set proxies when not given" do
|
504
|
+
Mixlib::Install.expects(:new).with do |opts|
|
505
|
+
opts[:install_command_options][:http_proxy].must_be_nil
|
506
|
+
end.returns(installer)
|
507
|
+
cmd
|
508
|
+
end
|
509
|
+
end
|
510
|
+
|
511
|
+
describe "when install_strategy is skipped" do
|
512
|
+
before do
|
513
|
+
config[:product_name] = "my_product"
|
514
|
+
config[:install_strategy] = "skip"
|
515
|
+
end
|
516
|
+
|
517
|
+
it "will not return installer when install_strategy is set to skip" do
|
518
|
+
Mixlib::Install.expects(:new).never
|
519
|
+
cmd
|
520
|
+
end
|
420
521
|
end
|
421
522
|
|
422
523
|
describe "for bourne shells" do
|
@@ -98,6 +98,10 @@ describe Kitchen::Provisioner::ChefSolo do
|
|
98
98
|
IO.read(sandbox_path("solo.rb")).lines.map(&:chomp)
|
99
99
|
end
|
100
100
|
|
101
|
+
let(:file_no_updated_resources) do
|
102
|
+
IO.read(sandbox_path("client_no_updated_resources.rb")).lines.map(&:chomp)
|
103
|
+
end
|
104
|
+
|
101
105
|
it "creates a solo.rb" do
|
102
106
|
provisioner.create_sandbox
|
103
107
|
|
@@ -275,6 +279,14 @@ describe Kitchen::Provisioner::ChefSolo do
|
|
275
279
|
file.must_include %{foo false}
|
276
280
|
file.must_include %{bar true}
|
277
281
|
end
|
282
|
+
|
283
|
+
it "supports idempotency check " do
|
284
|
+
config[:multiple_converge] = 2
|
285
|
+
config[:enforce_idempotency] = true
|
286
|
+
provisioner.create_sandbox
|
287
|
+
|
288
|
+
file_no_updated_resources.join.must_match /handler_file =.*chef-client-fail-if-update-handler.rb/
|
289
|
+
end
|
278
290
|
end
|
279
291
|
|
280
292
|
def sandbox_path(path)
|
@@ -123,6 +123,10 @@ describe Kitchen::Provisioner::ChefZero do
|
|
123
123
|
IO.read(sandbox_path("client.rb")).lines.map(&:chomp)
|
124
124
|
end
|
125
125
|
|
126
|
+
let(:file_no_updated_resources) do
|
127
|
+
IO.read(sandbox_path("client_no_updated_resources.rb")).lines.map(&:chomp)
|
128
|
+
end
|
129
|
+
|
126
130
|
it "creates a client.rb" do
|
127
131
|
provisioner.create_sandbox
|
128
132
|
|
@@ -300,6 +304,14 @@ describe Kitchen::Provisioner::ChefZero do
|
|
300
304
|
file.must_include %{foo false}
|
301
305
|
file.must_include %{bar true}
|
302
306
|
end
|
307
|
+
|
308
|
+
it "supports idempotency check " do
|
309
|
+
config[:multiple_converge] = 2
|
310
|
+
config[:enforce_idempotency] = true
|
311
|
+
provisioner.create_sandbox
|
312
|
+
|
313
|
+
file_no_updated_resources.join.must_match /handler_file =.*chef-client-fail-if-update-handler.rb/
|
314
|
+
end
|
303
315
|
end
|
304
316
|
|
305
317
|
describe "validation.pem file" do
|
@@ -314,6 +314,11 @@ describe Kitchen::Provisioner::Shell do
|
|
314
314
|
|
315
315
|
cmd.must_match(/^TEST=yes/)
|
316
316
|
end
|
317
|
+
|
318
|
+
it "accepts arguments when configured" do
|
319
|
+
config[:arguments] = "--php 70 --mysql 57"
|
320
|
+
cmd.must_match(/--php 70 --mysql 57/)
|
321
|
+
end
|
317
322
|
end
|
318
323
|
|
319
324
|
describe "for powershell shells on windows os types" do
|
@@ -176,9 +176,9 @@ describe Kitchen::Transport::Ssh do
|
|
176
176
|
make_connection
|
177
177
|
end
|
178
178
|
|
179
|
-
it "sets the :
|
179
|
+
it "sets the :verify_host_key flag to false" do
|
180
180
|
klass.expects(:new).with do |hash|
|
181
|
-
hash[:
|
181
|
+
hash[:verify_host_key] == false
|
182
182
|
end
|
183
183
|
|
184
184
|
make_connection
|
data/test-kitchen.gemspec
CHANGED
@@ -25,35 +25,26 @@ Gem::Specification.new do |gem|
|
|
25
25
|
|
26
26
|
gem.add_dependency "mixlib-shellout", ">= 1.2", "< 3.0"
|
27
27
|
gem.add_dependency "net-scp", "~> 1.1"
|
28
|
-
gem.add_dependency "net-ssh",
|
28
|
+
gem.add_dependency "net-ssh", ">= 2.9", "< 5.0"
|
29
29
|
gem.add_dependency "net-ssh-gateway", "~> 1.2"
|
30
30
|
gem.add_dependency "safe_yaml", "~> 1.0"
|
31
31
|
gem.add_dependency "thor", "~> 0.19", "< 0.19.2"
|
32
|
-
gem.add_dependency "mixlib-install", "
|
32
|
+
gem.add_dependency "mixlib-install", "~> 3.6"
|
33
|
+
gem.add_dependency "winrm", "~> 2.0"
|
34
|
+
gem.add_dependency "winrm-elevated", "~> 1.0"
|
35
|
+
gem.add_dependency "winrm-fs", "~> 1.0.2"
|
33
36
|
|
34
|
-
gem.add_development_dependency "pry"
|
35
|
-
gem.add_development_dependency "pry-byebug"
|
36
|
-
gem.add_development_dependency "pry-stack_explorer"
|
37
37
|
gem.add_development_dependency "rb-readline"
|
38
38
|
gem.add_development_dependency "overcommit", "= 0.33.0"
|
39
|
-
gem.add_development_dependency "winrm", "~> 2.0"
|
40
|
-
gem.add_development_dependency "winrm-elevated", "~> 1.0"
|
41
|
-
gem.add_development_dependency "winrm-fs", "~> 1.0"
|
42
39
|
|
43
40
|
gem.add_development_dependency "bundler"
|
44
41
|
gem.add_development_dependency "rake"
|
45
|
-
gem.add_development_dependency "github_changelog_generator", "1.11.3"
|
46
42
|
|
47
43
|
gem.add_development_dependency "aruba", "~> 0.11"
|
48
44
|
gem.add_development_dependency "fakefs", "~> 0.4"
|
49
45
|
gem.add_development_dependency "minitest", "~> 5.3"
|
50
46
|
gem.add_development_dependency "mocha", "~> 1.1"
|
51
|
-
|
52
47
|
gem.add_development_dependency "cucumber", "~> 2.1"
|
53
|
-
|
54
48
|
gem.add_development_dependency "countloc", "~> 0.4"
|
55
49
|
gem.add_development_dependency "maruku", "~> 0.6"
|
56
|
-
gem.add_development_dependency "yard"
|
57
|
-
|
58
|
-
gem.add_development_dependency "chefstyle"
|
59
50
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-kitchen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fletcher Nichol
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -116,64 +116,58 @@ dependencies:
|
|
116
116
|
name: mixlib-install
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
|
-
- - "
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: '1.2'
|
122
|
-
- - "<"
|
119
|
+
- - "~>"
|
123
120
|
- !ruby/object:Gem::Version
|
124
|
-
version: '3.
|
121
|
+
version: '3.6'
|
125
122
|
type: :runtime
|
126
123
|
prerelease: false
|
127
124
|
version_requirements: !ruby/object:Gem::Requirement
|
128
125
|
requirements:
|
129
|
-
- - "
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '1.2'
|
132
|
-
- - "<"
|
126
|
+
- - "~>"
|
133
127
|
- !ruby/object:Gem::Version
|
134
|
-
version: '3.
|
128
|
+
version: '3.6'
|
135
129
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
130
|
+
name: winrm
|
137
131
|
requirement: !ruby/object:Gem::Requirement
|
138
132
|
requirements:
|
139
|
-
- - "
|
133
|
+
- - "~>"
|
140
134
|
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
142
|
-
type: :
|
135
|
+
version: '2.0'
|
136
|
+
type: :runtime
|
143
137
|
prerelease: false
|
144
138
|
version_requirements: !ruby/object:Gem::Requirement
|
145
139
|
requirements:
|
146
|
-
- - "
|
140
|
+
- - "~>"
|
147
141
|
- !ruby/object:Gem::Version
|
148
|
-
version: '0'
|
142
|
+
version: '2.0'
|
149
143
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
144
|
+
name: winrm-elevated
|
151
145
|
requirement: !ruby/object:Gem::Requirement
|
152
146
|
requirements:
|
153
|
-
- - "
|
147
|
+
- - "~>"
|
154
148
|
- !ruby/object:Gem::Version
|
155
|
-
version: '0'
|
156
|
-
type: :
|
149
|
+
version: '1.0'
|
150
|
+
type: :runtime
|
157
151
|
prerelease: false
|
158
152
|
version_requirements: !ruby/object:Gem::Requirement
|
159
153
|
requirements:
|
160
|
-
- - "
|
154
|
+
- - "~>"
|
161
155
|
- !ruby/object:Gem::Version
|
162
|
-
version: '0'
|
156
|
+
version: '1.0'
|
163
157
|
- !ruby/object:Gem::Dependency
|
164
|
-
name:
|
158
|
+
name: winrm-fs
|
165
159
|
requirement: !ruby/object:Gem::Requirement
|
166
160
|
requirements:
|
167
|
-
- - "
|
161
|
+
- - "~>"
|
168
162
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
170
|
-
type: :
|
163
|
+
version: 1.0.2
|
164
|
+
type: :runtime
|
171
165
|
prerelease: false
|
172
166
|
version_requirements: !ruby/object:Gem::Requirement
|
173
167
|
requirements:
|
174
|
-
- - "
|
168
|
+
- - "~>"
|
175
169
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
170
|
+
version: 1.0.2
|
177
171
|
- !ruby/object:Gem::Dependency
|
178
172
|
name: rb-readline
|
179
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,48 +196,6 @@ dependencies:
|
|
202
196
|
- - '='
|
203
197
|
- !ruby/object:Gem::Version
|
204
198
|
version: 0.33.0
|
205
|
-
- !ruby/object:Gem::Dependency
|
206
|
-
name: winrm
|
207
|
-
requirement: !ruby/object:Gem::Requirement
|
208
|
-
requirements:
|
209
|
-
- - "~>"
|
210
|
-
- !ruby/object:Gem::Version
|
211
|
-
version: '2.0'
|
212
|
-
type: :development
|
213
|
-
prerelease: false
|
214
|
-
version_requirements: !ruby/object:Gem::Requirement
|
215
|
-
requirements:
|
216
|
-
- - "~>"
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
version: '2.0'
|
219
|
-
- !ruby/object:Gem::Dependency
|
220
|
-
name: winrm-elevated
|
221
|
-
requirement: !ruby/object:Gem::Requirement
|
222
|
-
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: '1.0'
|
226
|
-
type: :development
|
227
|
-
prerelease: false
|
228
|
-
version_requirements: !ruby/object:Gem::Requirement
|
229
|
-
requirements:
|
230
|
-
- - "~>"
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
version: '1.0'
|
233
|
-
- !ruby/object:Gem::Dependency
|
234
|
-
name: winrm-fs
|
235
|
-
requirement: !ruby/object:Gem::Requirement
|
236
|
-
requirements:
|
237
|
-
- - "~>"
|
238
|
-
- !ruby/object:Gem::Version
|
239
|
-
version: '1.0'
|
240
|
-
type: :development
|
241
|
-
prerelease: false
|
242
|
-
version_requirements: !ruby/object:Gem::Requirement
|
243
|
-
requirements:
|
244
|
-
- - "~>"
|
245
|
-
- !ruby/object:Gem::Version
|
246
|
-
version: '1.0'
|
247
199
|
- !ruby/object:Gem::Dependency
|
248
200
|
name: bundler
|
249
201
|
requirement: !ruby/object:Gem::Requirement
|
@@ -272,20 +224,6 @@ dependencies:
|
|
272
224
|
- - ">="
|
273
225
|
- !ruby/object:Gem::Version
|
274
226
|
version: '0'
|
275
|
-
- !ruby/object:Gem::Dependency
|
276
|
-
name: github_changelog_generator
|
277
|
-
requirement: !ruby/object:Gem::Requirement
|
278
|
-
requirements:
|
279
|
-
- - '='
|
280
|
-
- !ruby/object:Gem::Version
|
281
|
-
version: 1.11.3
|
282
|
-
type: :development
|
283
|
-
prerelease: false
|
284
|
-
version_requirements: !ruby/object:Gem::Requirement
|
285
|
-
requirements:
|
286
|
-
- - '='
|
287
|
-
- !ruby/object:Gem::Version
|
288
|
-
version: 1.11.3
|
289
227
|
- !ruby/object:Gem::Dependency
|
290
228
|
name: aruba
|
291
229
|
requirement: !ruby/object:Gem::Requirement
|
@@ -384,34 +322,6 @@ dependencies:
|
|
384
322
|
- - "~>"
|
385
323
|
- !ruby/object:Gem::Version
|
386
324
|
version: '0.6'
|
387
|
-
- !ruby/object:Gem::Dependency
|
388
|
-
name: yard
|
389
|
-
requirement: !ruby/object:Gem::Requirement
|
390
|
-
requirements:
|
391
|
-
- - ">="
|
392
|
-
- !ruby/object:Gem::Version
|
393
|
-
version: '0'
|
394
|
-
type: :development
|
395
|
-
prerelease: false
|
396
|
-
version_requirements: !ruby/object:Gem::Requirement
|
397
|
-
requirements:
|
398
|
-
- - ">="
|
399
|
-
- !ruby/object:Gem::Version
|
400
|
-
version: '0'
|
401
|
-
- !ruby/object:Gem::Dependency
|
402
|
-
name: chefstyle
|
403
|
-
requirement: !ruby/object:Gem::Requirement
|
404
|
-
requirements:
|
405
|
-
- - ">="
|
406
|
-
- !ruby/object:Gem::Version
|
407
|
-
version: '0'
|
408
|
-
type: :development
|
409
|
-
prerelease: false
|
410
|
-
version_requirements: !ruby/object:Gem::Requirement
|
411
|
-
requirements:
|
412
|
-
- - ">="
|
413
|
-
- !ruby/object:Gem::Version
|
414
|
-
version: '0'
|
415
325
|
description: Test Kitchen is an integration tool for developing and testing infrastructure
|
416
326
|
code and software on isolated target platforms.
|
417
327
|
email:
|
@@ -425,6 +335,7 @@ files:
|
|
425
335
|
- ".github/ISSUE_TEMPLATE.md"
|
426
336
|
- ".gitignore"
|
427
337
|
- ".kitchen.ci.yml"
|
338
|
+
- ".kitchen.dokken.yml"
|
428
339
|
- ".kitchen.proxy.yml"
|
429
340
|
- ".rubocop.yml"
|
430
341
|
- ".travis.yml"
|
@@ -627,7 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
627
538
|
version: '0'
|
628
539
|
requirements: []
|
629
540
|
rubyforge_project:
|
630
|
-
rubygems_version: 2.
|
541
|
+
rubygems_version: 2.6.13
|
631
542
|
signing_key:
|
632
543
|
specification_version: 4
|
633
544
|
summary: Test Kitchen is an integration tool for developing and testing infrastructure
|