test-kitchen 1.5.0 → 1.6.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/.gitignore +2 -0
- data/CHANGELOG.md +977 -863
- data/CONTRIBUTING.md +3 -6
- data/Rakefile +9 -0
- data/lib/kitchen/command/driver_discover.rb +10 -4
- data/lib/kitchen/driver/ssh_base.rb +4 -0
- data/lib/kitchen/instance.rb +19 -1
- data/lib/kitchen/platform.rb +8 -2
- data/lib/kitchen/provisioner/base.rb +10 -2
- data/lib/kitchen/provisioner/chef_apply.rb +125 -0
- data/lib/kitchen/provisioner/chef_base.rb +12 -5
- data/lib/kitchen/transport/winrm.rb +36 -148
- data/lib/kitchen/version.rb +1 -1
- data/spec/kitchen/provisioner/base_spec.rb +33 -0
- data/spec/kitchen/provisioner/chef_apply_spec.rb +136 -0
- data/spec/kitchen/provisioner/chef_base_spec.rb +11 -5
- data/spec/kitchen/ssh_spec.rb +6 -3
- data/spec/kitchen/transport/ssh_spec.rb +6 -4
- data/spec/kitchen/transport/winrm_spec.rb +70 -254
- data/spec/kitchen/verifier/shell_spec.rb +1 -0
- data/test-kitchen.gemspec +3 -3
- data/testing_windows.md +37 -0
- metadata +25 -27
data/test-kitchen.gemspec
CHANGED
@@ -29,16 +29,16 @@ Gem::Specification.new do |gem|
|
|
29
29
|
gem.add_dependency "safe_yaml", "~> 1.0"
|
30
30
|
gem.add_dependency "thor", "~> 0.18"
|
31
31
|
gem.add_dependency "mixlib-install", "~> 0.7"
|
32
|
-
gem.add_dependency "chef-config", ">= 12.5.1"
|
33
32
|
|
34
33
|
gem.add_development_dependency "pry"
|
35
34
|
gem.add_development_dependency "pry-byebug"
|
36
35
|
gem.add_development_dependency "pry-stack_explorer"
|
37
|
-
gem.add_development_dependency "winrm
|
38
|
-
gem.add_development_dependency "winrm-
|
36
|
+
gem.add_development_dependency "winrm", "~> 1.6"
|
37
|
+
gem.add_development_dependency "winrm-fs", "~> 0.3"
|
39
38
|
|
40
39
|
gem.add_development_dependency "bundler", "~> 1.3"
|
41
40
|
gem.add_development_dependency "rake"
|
41
|
+
gem.add_development_dependency "github_changelog_generator", "1.11.3"
|
42
42
|
|
43
43
|
gem.add_development_dependency "aruba", "~> 0.11.1"
|
44
44
|
gem.add_development_dependency "fakefs", "~> 0.4"
|
data/testing_windows.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
## Testing test-kitchen contributions against windows test instances
|
2
|
+
|
3
|
+
### Choose a windows based cookbook
|
4
|
+
The [windows cookbook](https://github.com/chef-cookbooks/windows) is a grand choice.
|
5
|
+
|
6
|
+
### Edit the `Gemfile`
|
7
|
+
Ensure that the cookbook's root directory includes a `Gemfile` that includes your local test-kitchen repo on the branch you would like to test as well as required windows-only needed gems:
|
8
|
+
```
|
9
|
+
gem 'test-kitchen', git: 'https://github.com/mwrock/test-kitchen', branch: 'winrm-fs'
|
10
|
+
gem 'winrm', '~> 1.6'
|
11
|
+
gem 'winrm-fs', '~> 0.3'
|
12
|
+
```
|
13
|
+
The above would target the `winrm-fs` branch in mwrock's test-kitchen repo.
|
14
|
+
|
15
|
+
### Finding a windows image
|
16
|
+
Make sure you have a windows test image handy. You can use your favorite cloud or hypervisor. An easy vagrant option is `mwrock/Windows2012R2` which is publicly available on atlas. To use that, edit your cookbook's `.kitchen.yml` to include:
|
17
|
+
```
|
18
|
+
platforms:
|
19
|
+
- name: win2012r2-standard
|
20
|
+
driver:
|
21
|
+
box: mwrock/Windows2012R2
|
22
|
+
```
|
23
|
+
|
24
|
+
For other windows OS versions, you can spin up instances in your favorite cloud provider or create your own vagrant box. The windows packer templates found in the [boxcutter repo](https://github.com/boxcutter/windows) provide a good place to start here.
|
25
|
+
|
26
|
+
### `bundle install`
|
27
|
+
|
28
|
+
From the root of your cookbook directory run `bundle install`
|
29
|
+
|
30
|
+
### Converge and test!
|
31
|
+
|
32
|
+
Now run `bundle exec kitchen verify`.
|
33
|
+
|
34
|
+
If your cookbook has multiple suites (like the windows cookbook), you likely just want to run one:
|
35
|
+
```
|
36
|
+
bundle exec kitchen verify feature
|
37
|
+
```
|
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.6.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: 2016-
|
11
|
+
date: 2016-02-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -106,20 +106,6 @@ dependencies:
|
|
106
106
|
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0.7'
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
|
-
name: chef-config
|
111
|
-
requirement: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: 12.5.1
|
116
|
-
type: :runtime
|
117
|
-
prerelease: false
|
118
|
-
version_requirements: !ruby/object:Gem::Requirement
|
119
|
-
requirements:
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 12.5.1
|
123
109
|
- !ruby/object:Gem::Dependency
|
124
110
|
name: pry
|
125
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,27 +149,21 @@ dependencies:
|
|
163
149
|
- !ruby/object:Gem::Version
|
164
150
|
version: '0'
|
165
151
|
- !ruby/object:Gem::Dependency
|
166
|
-
name: winrm
|
152
|
+
name: winrm
|
167
153
|
requirement: !ruby/object:Gem::Requirement
|
168
154
|
requirements:
|
169
155
|
- - "~>"
|
170
156
|
- !ruby/object:Gem::Version
|
171
|
-
version: '1.
|
172
|
-
- - ">="
|
173
|
-
- !ruby/object:Gem::Version
|
174
|
-
version: 1.0.3
|
157
|
+
version: '1.6'
|
175
158
|
type: :development
|
176
159
|
prerelease: false
|
177
160
|
version_requirements: !ruby/object:Gem::Requirement
|
178
161
|
requirements:
|
179
162
|
- - "~>"
|
180
163
|
- !ruby/object:Gem::Version
|
181
|
-
version: '1.
|
182
|
-
- - ">="
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
version: 1.0.3
|
164
|
+
version: '1.6'
|
185
165
|
- !ruby/object:Gem::Dependency
|
186
|
-
name: winrm-
|
166
|
+
name: winrm-fs
|
187
167
|
requirement: !ruby/object:Gem::Requirement
|
188
168
|
requirements:
|
189
169
|
- - "~>"
|
@@ -224,6 +204,20 @@ dependencies:
|
|
224
204
|
- - ">="
|
225
205
|
- !ruby/object:Gem::Version
|
226
206
|
version: '0'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: github_changelog_generator
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - '='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 1.11.3
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - '='
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 1.11.3
|
227
221
|
- !ruby/object:Gem::Dependency
|
228
222
|
name: aruba
|
229
223
|
requirement: !ruby/object:Gem::Requirement
|
@@ -460,6 +454,7 @@ files:
|
|
460
454
|
- lib/kitchen/provisioner/chef/berkshelf.rb
|
461
455
|
- lib/kitchen/provisioner/chef/common_sandbox.rb
|
462
456
|
- lib/kitchen/provisioner/chef/librarian.rb
|
457
|
+
- lib/kitchen/provisioner/chef_apply.rb
|
463
458
|
- lib/kitchen/provisioner/chef_base.rb
|
464
459
|
- lib/kitchen/provisioner/chef_solo.rb
|
465
460
|
- lib/kitchen/provisioner/chef_zero.rb
|
@@ -507,6 +502,7 @@ files:
|
|
507
502
|
- spec/kitchen/metadata_chopper_spec.rb
|
508
503
|
- spec/kitchen/platform_spec.rb
|
509
504
|
- spec/kitchen/provisioner/base_spec.rb
|
505
|
+
- spec/kitchen/provisioner/chef_apply_spec.rb
|
510
506
|
- spec/kitchen/provisioner/chef_base_spec.rb
|
511
507
|
- spec/kitchen/provisioner/chef_solo_spec.rb
|
512
508
|
- spec/kitchen/provisioner/chef_zero_spec.rb
|
@@ -558,6 +554,7 @@ files:
|
|
558
554
|
- templates/init/chefignore.erb
|
559
555
|
- templates/init/kitchen.yml.erb
|
560
556
|
- test-kitchen.gemspec
|
557
|
+
- testing_windows.md
|
561
558
|
homepage: http://kitchen.ci
|
562
559
|
licenses:
|
563
560
|
- Apache 2.0
|
@@ -578,7 +575,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
578
575
|
version: '0'
|
579
576
|
requirements: []
|
580
577
|
rubyforge_project:
|
581
|
-
rubygems_version: 2.4.
|
578
|
+
rubygems_version: 2.4.8
|
582
579
|
signing_key:
|
583
580
|
specification_version: 4
|
584
581
|
summary: Test Kitchen is an integration tool for developing and testing infrastructure
|
@@ -624,6 +621,7 @@ test_files:
|
|
624
621
|
- spec/kitchen/metadata_chopper_spec.rb
|
625
622
|
- spec/kitchen/platform_spec.rb
|
626
623
|
- spec/kitchen/provisioner/base_spec.rb
|
624
|
+
- spec/kitchen/provisioner/chef_apply_spec.rb
|
627
625
|
- spec/kitchen/provisioner/chef_base_spec.rb
|
628
626
|
- spec/kitchen/provisioner/chef_solo_spec.rb
|
629
627
|
- spec/kitchen/provisioner/chef_zero_spec.rb
|