kitchen-openstack 1.4.0 → 1.5.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: 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