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 +4 -4
- data/CHANGELOG.md +7 -0
- data/kitchen-openstack.gemspec +1 -0
- data/lib/kitchen/driver/openstack.rb +11 -0
- data/lib/kitchen/driver/openstack_version.rb +1 -1
- data/spec/kitchen/driver/openstack_spec.rb +23 -0
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bd777017fb7da7ae301b48183ac23a1a1b2b7e48
|
|
4
|
+
data.tar.gz: 599ddad461ccb284570401d3f5561874c15ac2be
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
data/kitchen-openstack.gemspec
CHANGED
|
@@ -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],
|
|
@@ -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
|
+
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-
|
|
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
|