test-kitchen 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
[](https://travis-ci.org/test-kitchen/kitchen-dsc)| [](https://travis-ci.org/test-kitchen/kitchen-pester) | [](https://travis-ci.org/test-kitchen/kitchen-joyent) | [](https://travis-ci.org/test-kitchen/kitchen-opennebula) | [](https://travis-ci.org/test-kitchen/kitchen-hyperv) | [](https://travis-ci.org/test-kitchen/kitchen-cloudstack)
|
|
15
15
|
[](http://badge.fury.io/rb/kitchen-dsc) | [](http://badge.fury.io/rb/kitchen-pester) | [](http://badge.fury.io/rb/kitchen-joyent) | [](http://badge.fury.io/rb/kitchen-opennebula) | [](http://badge.fury.io/rb/kitchen-hyperv) | [](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
|
[](https://travis-ci.org/chef/kitchen-appbundle-updater)| [](https://travis-ci.org/chef/kitchen-inspec) |
|
|
22
22
|
[](http://badge.fury.io/rb/kitchen-appbundle-updater) | [](http://badge.fury.io/rb/kitchen-inspec) |
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
[kitchen-vra]
|
|
27
|
-
|
|
28
|
-
[](https://travis-ci.org/chef-partners/kitchen-vra)| [](https://travis-ci.org/chef-partners/kitchen-vro) | [](https://travis-ci.org/chef-partners/kitchen-vcair) | [](https://travis-ci.org/chef-partners/kitchen-oraclecloud) | [](https://travis-ci.org/chef-partners/kitchen-ssh-cisco) | [](https://travis-ci.org/test-kitchen/kitchen-cloudstack)
|
|
29
|
-
[](http://badge.fury.io/rb/kitchen-vra) | [](http://badge.fury.io/rb/kitchen-vro) | [](http://badge.fury.io/rb/kitchen-vcair) | [](http://badge.fury.io/rb/kitchen-oraclecloud) | [](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
|
+
[](https://travis-ci.org/chef-partners/kitchen-vra)| [](https://travis-ci.org/chef-partners/kitchen-vro) | [](https://travis-ci.org/chef-partners/kitchen-vcair) | [](https://travis-ci.org/chef-partners/kitchen-oraclecloud) | [](https://travis-ci.org/chef-partners/kitchen-ssh-cisco) | [](https://travis-ci.org/chef/kitchen-vcenter)
|
|
27
|
+
[](http://badge.fury.io/rb/kitchen-vra) | [](http://badge.fury.io/rb/kitchen-vro) | [](http://badge.fury.io/rb/kitchen-vcair) | [](http://badge.fury.io/rb/kitchen-oraclecloud) | [](http://badge.fury.io/rb/kitchen-ssh-cisco) | [](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
|
[](https://travis-ci.org/mwwrock/kitchen-nodes) | [](https://travis-ci.org/higanworks/kitchen-zcloudjp) | [](https://travis-ci.org/blueboxgroup/kitchen-bluebox) | [](https://travis-ci.org/neillturner/kitchen-softlayer) | [](https://travis-ci.org/ssplatt/kitchen-linode) | [](https://travis-ci.org/portertech/kitchen-docker)
|
|
41
39
|
[](http://badge.fury.io/rb/kitchen-nodes) | [](http://badge.fury.io/rb/kitchen-zcloudjp) | [](http://badge.fury.io/rb/kitchen-bluebox) | [](http://badge.fury.io/rb/kitchen-softlayer) | [](http://badge.fury.io/rb/kitchen-linode) | [](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
|
-
[](https://travis-ci.org/esmil/kitchen-qemu)| [](https://travis-ci.org/nmische/kitchen-cfengine) | [](https://travis-ci.org/neillturner/kitchen-cloudformation) | [](https://travis-ci.org/adejoux/kitchen-wpar) | [](https://travis-ci.org/chmod666org/kitchen-powervc)
|
|
46
|
-
[](http://badge.fury.io/rb/kitchen-qemu) | [](http://badge.fury.io/rb/kitchen-cfengine) | [](http://badge.fury.io/rb/kitchen-cloudformation) | [](http://badge.fury.io/rb/kitchen-wpar) | [](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
|
+
[](https://travis-ci.org/esmil/kitchen-qemu)| [](https://travis-ci.org/nmische/kitchen-cfengine) | [](https://travis-ci.org/neillturner/kitchen-cloudformation) | [](https://travis-ci.org/adejoux/kitchen-wpar) | [](https://travis-ci.org/chmod666org/kitchen-powervc) | [](https://travis-ci.org/newcontext-oss/kitchen-terraform)
|
|
44
|
+
[](http://badge.fury.io/rb/kitchen-qemu) | [](http://badge.fury.io/rb/kitchen-cfengine) | [](http://badge.fury.io/rb/kitchen-cloudformation) | [](http://badge.fury.io/rb/kitchen-wpar) | [](http://badge.fury.io/rb/kitchen-powervc) | [](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
|
[](http://badge.fury.io/rb/test-kitchen)
|
|
4
4
|
[](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
|