kitchen-nodes 0.6.6 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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