kitchen-openstack 1.4.0 → 1.5.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: d61046f3b469a583ba70e208458891c7776d2e84
4
- data.tar.gz: 39dd8f696144547472cf9e36add6d30c1272d57c
3
+ metadata.gz: bd777017fb7da7ae301b48183ac23a1a1b2b7e48
4
+ data.tar.gz: 599ddad461ccb284570401d3f5561874c15ac2be
5
5
  SHA512:
6
- metadata.gz: 90b0fd6ce3270b2ca24c3aab4a69a64a2ddcf2cacf6ce54e0efab379cb725077df0ed7881ed839714f411e8f19bdd054bef4aacda34df8e6f46711b630161aa1
7
- data.tar.gz: 9252addff3911915eb6447881089541b1eef64ce5cbc5e173ae10d29fe50f2fdbcbd06d1dec6202ce44c8754572b02ec92fe792f118ea132e02a5c958a8d4bda
6
+ metadata.gz: f1d10cb0dc35c7c85bfa03942d0e2b0b84713e0655889c0ad41419d6cb1b84f31a104d3eb4dbfb769875bf0c601dd26828688b9f178bc390d2d836e3939bc7d7
7
+ data.tar.gz: 7dba80c14cbc214df24fec6043465a1bd53f171580e5031d814b43d18c452643ac1636f61836ee724ca0aefcf3d94e6c89ddda6461307b782834f0eb066a4c16
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 1.5.0 / 2014-05-22
2
+
3
+ ### New Features
4
+
5
+ * PR [#48][] - Enable the Ohai OpenStack plugin; via [@dschlenk][]
6
+
1
7
  # 1.4.0 / 2014-04-09
2
8
 
3
9
  ### Improvements
@@ -87,6 +93,7 @@ certain specified NICs; via [@monsterzz][]
87
93
 
88
94
  * Initial release! Woo!
89
95
 
96
+ [#48]: https://github.com/test-kitchen/kitchen-openstack/pull/48
90
97
  [#46]: https://github.com/test-kitchen/kitchen-openstack/pull/46
91
98
  [#41]: https://github.com/test-kitchen/kitchen-openstack/pull/41
92
99
  [#40]: https://github.com/test-kitchen/kitchen-openstack/pull/40
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'fog', '~> 1.18'
23
23
  # Newer Fogs throw a warning if unf isn't there :(
24
24
  spec.add_dependency 'unf'
25
+ spec.add_dependency 'ohai'
25
26
 
26
27
  spec.add_development_dependency 'bundler'
27
28
  spec.add_development_dependency 'rake'
@@ -22,6 +22,7 @@ require 'kitchen'
22
22
  require 'etc'
23
23
  require 'ipaddr'
24
24
  require 'socket'
25
+ require 'ohai'
25
26
 
26
27
  module Kitchen
27
28
  module Driver
@@ -75,6 +76,7 @@ module Kitchen
75
76
  end
76
77
  info "Using public SSH key <#{config[:public_key_path]}>"
77
78
  info "Using private SSH key <#{config[:private_key_path]}>"
79
+ add_ohai_hint(state, config, server)
78
80
  unless config[:key_name]
79
81
  do_ssh_setup(state, config, server)
80
82
  end
@@ -260,6 +262,15 @@ module Kitchen
260
262
  return pub, priv
261
263
  end
262
264
 
265
+ def add_ohai_hint(state, config, server)
266
+ info 'Adding OpenStack hint for ohai'
267
+ ssh = Fog::SSH.new(*build_ssh_args(state))
268
+ ssh.run([
269
+ %{sudo mkdir -p #{Ohai::Config[:hints_path][0]}},
270
+ %{sudo touch #{Ohai::Config[:hints_path][0]}/openstack.json}
271
+ ])
272
+ end
273
+
263
274
  def do_ssh_setup(state, config, server)
264
275
  info "Setting up SSH access for key <#{config[:public_key_path]}>"
265
276
  ssh = Fog::SSH.new(state[:hostname], config[:username],
@@ -19,7 +19,7 @@
19
19
  module Kitchen
20
20
  module Driver
21
21
  # Version string for OpenStack Kitchen driver
22
- OPENSTACK_VERSION = '1.4.0'
22
+ OPENSTACK_VERSION = '1.5.0'
23
23
  end
24
24
  end
25
25
 
@@ -22,6 +22,7 @@ require 'logger'
22
22
  require 'stringio'
23
23
  require 'rspec'
24
24
  require 'kitchen'
25
+ require 'ohai'
25
26
 
26
27
  describe Kitchen::Driver::Openstack do
27
28
  let(:logged_output) { StringIO.new }
@@ -157,6 +158,7 @@ describe Kitchen::Driver::Openstack do
157
158
  'root',
158
159
  { :port => '22' }).and_return(true)
159
160
  d.stub(:get_ip).and_return('1.2.3.4')
161
+ d.stub(:add_ohai_hint).and_return(true)
160
162
  d.stub(:do_ssh_setup).and_return(true)
161
163
  d
162
164
  end
@@ -889,6 +891,27 @@ describe Kitchen::Driver::Openstack do
889
891
  end
890
892
  end
891
893
 
894
+ describe '#add_ohai_hint' do
895
+ let(:config) { { :public_key_path => '/pub_key' } }
896
+ let(:server) { double(:password => 'aloha') }
897
+ let(:state) { { :hostname => 'host' } }
898
+ let(:ssh) do
899
+ s = double('ssh')
900
+ s.stub(:run) { |args| args }
901
+ s
902
+ end
903
+ it 'opens an SSH session to the server' do
904
+ Fog::SSH.stub(:new).with('host', 'root',
905
+ anything()).and_return(ssh)
906
+ res = driver.send(:add_ohai_hint, state, config, server)
907
+ expected = [
908
+ "sudo mkdir -p #{Ohai::Config[:hints_path][0]}",
909
+ "sudo touch #{Ohai::Config[:hints_path][0]}/openstack.json"
910
+ ]
911
+ expect(res).to eq(expected)
912
+ end
913
+ end
914
+
892
915
  describe '#disable_ssl_validation' do
893
916
  it 'turns off Excon SSL cert validation' do
894
917
  expect(driver.send(:disable_ssl_validation)).to eq(false)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-openstack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Hartman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-09 00:00:00.000000000 Z
11
+ date: 2014-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ohai
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement