kitchen-nodes 0.6.6 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e777a5df2864a9b03a6ac3fbbd196c0698e2e083
4
- data.tar.gz: e4ab0b5afe6f02b3d74c3afed22ed1a66e9efbfa
3
+ metadata.gz: 914e2ddce98d8878bc2341631e67a37865a80398
4
+ data.tar.gz: bbedb84bb8903054635f693f46d1042d74cbc0d8
5
5
  SHA512:
6
- metadata.gz: 9d63342e2fbec032b42df9b0c65e974fcbd61cf4f037ce1f75115bbc91cdc11c9499341e2ae223b1583546697e8d12fe35cad7bed20c7d53d28247488db97946
7
- data.tar.gz: 56f8c2f2252debbd9469f7e657b8191236c97e78efbf4694649b31e07b0c7ac3e017070a748919f0527e5058f8def13f367fe73873b12885c92595ae6c699b92
6
+ metadata.gz: 6715ea6d9d65bd27b9fe74268e936a0af167b62881d915bd6b5ef5c645bf3b2d9bff5667610403e8ffc2381b52c03acaa8b1166ea4481d055e547f61ab74310e
7
+ data.tar.gz: b63538dac0dfd02f71ec9afbe794753583a89de3fffe79151448cfbfec2cc4f132c5d784b616d29285feef685ecb303204c205b19ad0438bf665ef10cf4a88c7
@@ -20,6 +20,11 @@ platforms:
20
20
  gui: true
21
21
  box: mwrock/Windows2012R2
22
22
 
23
+ - name: windows-2008R2
24
+ driver_config:
25
+ gui: true
26
+ box: opentable/win-2008r2-datacenter-amd64-nocm
27
+
23
28
  suites:
24
29
  - name: node1
25
30
  run_list:
@@ -0,0 +1,86 @@
1
+ # Change Log
2
+
3
+ ## [0.7.0](https://github.com/mwrock/kitchen-nodes/tree/0.7.0) (2016-03-08)
4
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.6.6...0.7.0)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - Added support for windows 2008R2 [\#18](https://github.com/mwrock/kitchen-nodes/pull/18) ([johnsmyth](https://github.com/johnsmyth))
9
+
10
+ **Fixed bugs:**
11
+
12
+ - Fix device filtering breaking for IPv6 interfaces [\#15](https://github.com/mwrock/kitchen-nodes/pull/15) ([vervas](https://github.com/vervas))
13
+
14
+ ## [v0.6.6](https://github.com/mwrock/kitchen-nodes/tree/v0.6.6) (2016-02-12)
15
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.6.5...v0.6.6)
16
+
17
+ **Fixed bugs:**
18
+
19
+ - kitchen-nodes fails serverspec test on 2012 node due to unpopulated IP address [\#11](https://github.com/mwrock/kitchen-nodes/issues/11)
20
+ - Shave extra newline off fqdn [\#13](https://github.com/mwrock/kitchen-nodes/pull/13) ([watkinsv-hp](https://github.com/watkinsv-hp))
21
+
22
+ ## [v0.6.5](https://github.com/mwrock/kitchen-nodes/tree/v0.6.5) (2016-02-11)
23
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.6.4...v0.6.5)
24
+
25
+ **Fixed bugs:**
26
+
27
+ - kitchen-nodes provisioner needs kitchen-sync sftp finder [\#10](https://github.com/mwrock/kitchen-nodes/issues/10)
28
+
29
+ ## [v0.6.4](https://github.com/mwrock/kitchen-nodes/tree/v0.6.4) (2016-01-27)
30
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.6.0...v0.6.4)
31
+
32
+ **Fixed bugs:**
33
+
34
+ - Error: Sandbox directory has not yet been created [\#9](https://github.com/mwrock/kitchen-nodes/issues/9)
35
+
36
+ ## [v0.6.0](https://github.com/mwrock/kitchen-nodes/tree/v0.6.0) (2015-12-14)
37
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.5.0...v0.6.0)
38
+
39
+ **Implemented enhancements:**
40
+
41
+ - Expand the run\_list into the automatic=\>recipes attribute [\#8](https://github.com/mwrock/kitchen-nodes/pull/8) ([eherot](https://github.com/eherot))
42
+
43
+ ## [v0.5.0](https://github.com/mwrock/kitchen-nodes/tree/v0.5.0) (2015-10-11)
44
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.4.1...v0.5.0)
45
+
46
+ **Implemented enhancements:**
47
+
48
+ - Feature/adding fqdn [\#7](https://github.com/mwrock/kitchen-nodes/pull/7) ([faja](https://github.com/faja))
49
+
50
+ ## [v0.4.1](https://github.com/mwrock/kitchen-nodes/tree/v0.4.1) (2015-08-14)
51
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.4.0...v0.4.1)
52
+
53
+ ## [v0.4.0](https://github.com/mwrock/kitchen-nodes/tree/v0.4.0) (2015-08-12)
54
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.3.4...v0.4.0)
55
+
56
+ ## [v0.3.4](https://github.com/mwrock/kitchen-nodes/tree/v0.3.4) (2015-08-04)
57
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.3.3...v0.3.4)
58
+
59
+ ## [v0.3.3](https://github.com/mwrock/kitchen-nodes/tree/v0.3.3) (2015-07-30)
60
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.3.2...v0.3.3)
61
+
62
+ **Implemented enhancements:**
63
+
64
+ - Update IP finder to work for CentOS 7.1 [\#6](https://github.com/mwrock/kitchen-nodes/pull/6) ([joerocklin](https://github.com/joerocklin))
65
+
66
+ ## [v0.3.2](https://github.com/mwrock/kitchen-nodes/tree/v0.3.2) (2015-06-26)
67
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.3.1...v0.3.2)
68
+
69
+ **Fixed bugs:**
70
+
71
+ - Fix search\(\) for currently provisioned node [\#4](https://github.com/mwrock/kitchen-nodes/pull/4) ([ustuehler](https://github.com/ustuehler))
72
+
73
+ ## [v0.3.1](https://github.com/mwrock/kitchen-nodes/tree/v0.3.1) (2015-05-11)
74
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.3.0...v0.3.1)
75
+
76
+ ## [v0.3.0](https://github.com/mwrock/kitchen-nodes/tree/v0.3.0) (2015-05-10)
77
+ [Full Changelog](https://github.com/mwrock/kitchen-nodes/compare/v0.2.0...v0.3.0)
78
+
79
+ **Implemented enhancements:**
80
+
81
+ - Include .kitchen.yml attributes to the node file at 'normal' scope. [\#2](https://github.com/mwrock/kitchen-nodes/pull/2) ([jcejohnson](https://github.com/jcejohnson))
82
+
83
+ ## [v0.2.0](https://github.com/mwrock/kitchen-nodes/tree/v0.2.0) (2015-04-21)
84
+
85
+
86
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/Gemfile CHANGED
@@ -2,8 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
+ gem 'test-kitchen', '~> 1.6'
5
6
  gem 'kitchen-vagrant'
6
7
  gem 'berkshelf'
7
8
  gem 'chef'
8
- gem 'winrm-transport'
9
- gem 'winrm-s'
9
+ gem 'winrm-fs', '~> 0.3'
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
+ require 'github_changelog_generator/task'
2
3
  require 'rspec/core/rake_task'
3
4
  require 'rubocop/rake_task'
4
5
 
@@ -8,4 +9,15 @@ RuboCop::RakeTask.new(:style) do |task|
8
9
  task.options << '--display-cop-names'
9
10
  end
10
11
 
12
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
13
+ config.future_release = Kitchen::Provisioner::NODES_VERSION
14
+ config.enhancement_labels = ['enhancement']
15
+ config.bug_labels = ['bug']
16
+ config.exclude_labels = %w(duplicate question invalid wontfix no_changelog)
17
+ config.exclude_tags = [
18
+ 'v0.1.0.dev', 'v0.2.0.dev', 'v0.2.0.dev.1',
19
+ 'v0.2.0.dev.2', 'v0.2.0.dev.3', 'v0.2.0.dev.4',
20
+ 'v0.6.4.dev', 'v0.6.3', 'v0.6.2', 'v0.6.1']
21
+ end
22
+
11
23
  task default: [:test, :style]
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.3'
26
26
  spec.add_development_dependency 'fakefs', '~> 0.4'
27
+ spec.add_development_dependency 'github_changelog_generator', '1.11.3'
27
28
  spec.add_development_dependency 'rake'
28
29
  spec.add_development_dependency 'rspec', '~> 3.2'
29
30
  spec.add_development_dependency 'rubocop', '~> 0.37', '>= 0.37.1'
@@ -84,6 +84,7 @@ module Kitchen
84
84
  ips = []
85
85
  response.split(/^\S+/).each do |device|
86
86
  next if !device.include?('RUNNING') || device.include?('LOOPBACK')
87
+ next if IP4REGEX.match(device).nil?
87
88
  ips << IP4REGEX.match(device)[1]
88
89
  end
89
90
  ips.compact
@@ -23,11 +23,11 @@ module Kitchen
23
23
 
24
24
  def find_ips
25
25
  out = @connection.node_execute(
26
- 'Get-NetIPConfiguration | % { $_.ipv4address.IPAddress }')
26
+ '(ipconfig) -match \'IPv[46] Address\'')
27
27
  data = []
28
28
  out[:data].each do |out_data|
29
29
  stdout = out_data[:stdout]
30
- data << stdout.chomp unless stdout.nil? || stdout.chomp.empty?
30
+ data << Regexp.last_match[1] if stdout.chomp =~ /:\s*(\S+)/
31
31
  end
32
32
  data
33
33
  end
@@ -122,10 +122,17 @@ module Kitchen
122
122
  def get_reachable_guest_address(state)
123
123
  active_ips(instance.transport, state).each do |address|
124
124
  next if address == '127.0.0.1'
125
- return address if Net::Ping::External.new.ping(address)
125
+ return address if reachable?(address)
126
126
  end
127
127
  end
128
128
 
129
+ def reachable?(address)
130
+ Net::Ping::External.new.ping(address) ||
131
+ Net::Ping::TCP.new(address, 5985).ping ||
132
+ Net::Ping::TCP.new(address, 5986).ping ||
133
+ Net::Ping::TCP.new(address, 22).ping
134
+ end
135
+
129
136
  def active_ips(transport, state)
130
137
  # inject creds into state for legacy drivers
131
138
  [:username, :password].each do |prop|
@@ -19,6 +19,6 @@
19
19
  module Kitchen
20
20
  # Version string for Nodes Kitchen driver
21
21
  module Provisioner
22
- NODES_VERSION = '0.6.6'.freeze
22
+ NODES_VERSION = '0.7.0'.freeze
23
23
  end
24
24
  end
@@ -156,7 +156,7 @@ describe Kitchen::Provisioner::Nodes do
156
156
  let(:transport) { Kitchen::Transport::Winrm.new }
157
157
 
158
158
  before do
159
- data = machine_ips.map { |ip| { stdout: "#{ip}\r\n" } }
159
+ data = machine_ips.map { |ip| { stdout: "IPv4 Address .: #{ip}\r\n" } }
160
160
  data = data.insert(0, stdout: "\r\n")
161
161
  allow_any_instance_of(Kitchen::Transport::Base::Connection).to(
162
162
  receive(:node_execute).and_return(data: data)
@@ -172,6 +172,8 @@ describe Kitchen::Provisioner::Nodes do
172
172
 
173
173
  context 'only the last ip is reachable' do
174
174
  before do
175
+ allow_any_instance_of(Net::Ping::TCP).to receive(:ping)
176
+ .and_return(false)
175
177
  allow_any_instance_of(Net::Ping::External).to receive(:ping)
176
178
  .and_return(false)
177
179
  allow_any_instance_of(Net::Ping::External).to receive(:ping)
@@ -44,8 +44,11 @@ describe 'other node' do
44
44
  expect(ip).to match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
45
45
  end
46
46
 
47
- describe command('hostname') do
48
- its(:stdout) { should_not match(/#{Regexp.quote(fqdn)}/) }
47
+ # Skip this test on the 2008 box bc its not sysprepped....
48
+ unless ENV['computername'] =~ /VAGRANT\-2008R2/i
49
+ describe command('hostname') do
50
+ its(:stdout) { should_not match(/#{Regexp.quote(fqdn)}/) }
51
+ end
49
52
  end
50
53
 
51
54
  if RUBY_PLATFORM =~ /mingw/
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-nodes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wrock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-12 00:00:00.000000000 Z
11
+ date: 2016-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ping
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.4'
83
+ - !ruby/object:Gem::Dependency
84
+ name: github_changelog_generator
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.11.3
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.11.3
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +154,7 @@ files:
140
154
  - ".rubocop.yml"
141
155
  - ".travis.yml"
142
156
  - Berksfile
157
+ - CHANGELOG.md
143
158
  - Gemfile
144
159
  - LICENSE
145
160
  - README.md
@@ -182,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
197
  version: '0'
183
198
  requirements: []
184
199
  rubyforge_project:
185
- rubygems_version: 2.4.8
200
+ rubygems_version: 2.5.2
186
201
  signing_key:
187
202
  specification_version: 4
188
203
  summary: A Test Kitchen Provisioner for Chef Nodes