kitchen-openstack 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NjAwZTAyMmFlODViMmNiOTllNDYwOWM3YzA2MjM1Yjc3ZDczZGZlZQ==
5
+ data.tar.gz: !binary |-
6
+ OGM1NTk4NjUxMmY5Y2E2MmNhMTVkZThmYTBjOGQxMmE4ZTAzNTRkZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YmNkY2I2YTJhZDg4N2U2MGUxZTk2NGE0NDAzMjhlNDgwZThmZWZkMGQ5MDUy
10
+ NWVkNDU3OWE0YzZmOWMwZjRmYzI4OGQzZjA5ZTM5NjgyZjRiYmFiYjhkZjNh
11
+ YjUwYTM3Yjk4ODk4M2QzYzI1NTE3MDI5NzViODRkM2IwOGFlOTI=
12
+ data.tar.gz: !binary |-
13
+ MmJhNTZlYWE3OTI1MDAwYTc1MzM4YWQxZTZkYTAwYmMxYTM0NjE5YzhiNDhk
14
+ OWIxMmI4NGU4YzVjNzUzZDg3OWM4NWVlNzE3ZWVlYzIxNTBlYmYwZWExYzE1
15
+ M2U5MTVjNWM5Y2M0NjAyZWE0N2NiMGVlMjdmYWFkYzgxNmI0MDY=
@@ -1,3 +1,9 @@
1
+ # 1.2.0 / 2014-01-30
2
+
3
+ ### New Features
4
+
5
+ * PR [#37][] - Support configurable security groups; via [@bears4barrett][]
6
+
1
7
  # 1.1.0 / 2013-12-07
2
8
 
3
9
  ### Improvements
@@ -62,21 +68,23 @@
62
68
 
63
69
  * Initial release! Woo!
64
70
 
65
- [#31]: https://github.com/RoboticCheese/kitchen-openstack/pull/31
66
- [#27]: https://github.com/RoboticCheese/kitchen-openstack/pull/27
67
- [#26]: https://github.com/RoboticCheese/kitchen-openstack/pull/26
68
- [#25]: https://github.com/RoboticCheese/kitchen-openstack/pull/25
69
- [#20]: https://github.com/RoboticCheese/kitchen-openstack/pull/20
70
- [#19]: https://github.com/RoboticCheese/kitchen-openstack/pull/19
71
- [#15]: https://github.com/RoboticCheese/kitchen-openstack/pull/15
72
- [#14]: https://github.com/RoboticCheese/kitchen-openstack/pull/14
73
- [#12]: https://github.com/RoboticCheese/kitchen-openstack/pull/12
74
- [#11]: https://github.com/RoboticCheese/kitchen-openstack/pull/11
75
- [#10]: https://github.com/RoboticCheese/kitchen-openstack/pull/10
76
- [#9]: https://github.com/RoboticCheese/kitchen-openstack/pull/9
77
- [#7]: https://github.com/RoboticCheese/kitchen-openstack/pull/7
78
- [#2]: https://github.com/RoboticCheese/kitchen-openstack/pull/2
79
-
71
+ [#37]: https://github.com/test-kitchen/kitchen-openstack/pull/37
72
+ [#31]: https://github.com/test-kitchen/kitchen-openstack/pull/31
73
+ [#27]: https://github.com/test-kitchen/kitchen-openstack/pull/27
74
+ [#26]: https://github.com/test-kitchen/kitchen-openstack/pull/26
75
+ [#25]: https://github.com/test-kitchen/kitchen-openstack/pull/25
76
+ [#20]: https://github.com/test-kitchen/kitchen-openstack/pull/20
77
+ [#19]: https://github.com/test-kitchen/kitchen-openstack/pull/19
78
+ [#15]: https://github.com/test-kitchen/kitchen-openstack/pull/15
79
+ [#14]: https://github.com/test-kitchen/kitchen-openstack/pull/14
80
+ [#12]: https://github.com/test-kitchen/kitchen-openstack/pull/12
81
+ [#11]: https://github.com/test-kitchen/kitchen-openstack/pull/11
82
+ [#10]: https://github.com/test-kitchen/kitchen-openstack/pull/10
83
+ [#9]: https://github.com/test-kitchen/kitchen-openstack/pull/9
84
+ [#7]: https://github.com/test-kitchen/kitchen-openstack/pull/7
85
+ [#2]: https://github.com/test-kitchen/kitchen-openstack/pull/2
86
+
87
+ [@bears4barrett]: https://github.com/bears4barrett
80
88
  [@jgawor]: https://github.com/jgawor
81
89
  [@hufman]: https://github.com/hufman
82
90
  [@saketoba]: https://github.com/saketoba
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/kitchen-openstack.png)](http://badge.fury.io/rb/kitchen-openstack)
2
- [![Build Status](https://travis-ci.org/RoboticCheese/kitchen-openstack.png?branch=master)](https://travis-ci.org/RoboticCheese/kitchen-openstack)
3
- [![Code Climate](https://codeclimate.com/github/RoboticCheese/kitchen-openstack.png)](https://codeclimate.com/github/RoboticCheese/kitchen-openstack)
4
- [![Dependency Status](https://gemnasium.com/RoboticCheese/kitchen-openstack.png)](https://gemnasium.com/RoboticCheese/kitchen-openstack)
2
+ [![Build Status](https://travis-ci.org/test-kitchen/kitchen-openstack.png?branch=master)](https://travis-ci.org/test-kitchen/kitchen-openstack)
3
+ [![Code Climate](https://codeclimate.com/github/test-kitchen/kitchen-openstack.png)](https://codeclimate.com/github/test-kitchen/kitchen-openstack)
4
+ [![Coverage Status](https://coveralls.io/repos/test-kitchen/kitchen-openstack/badge.png)](https://coveralls.io/r/test-kitchen/kitchen-openstack)
5
+ [![Dependency Status](https://gemnasium.com/test-kitchen/kitchen-openstack.png)](https://gemnasium.com/test-kitchen/kitchen-openstack)
5
6
 
6
7
  # Kitchen::OpenStack
7
8
 
@@ -56,6 +57,9 @@ behavior can be overridden with additional options:
56
57
  openstack_network_name: [YOUR OPENSTACK NETWORK NAME]
57
58
  floating_ip: [A SPECIFIC FLOATING IP TO ASSIGN]
58
59
  floating_ip_pool: [AN OPENSTACK POOL NAME TO ASSIGN THE NEXT IP FROM]
60
+ security_groups:
61
+ - [A LIST OF...]
62
+ - [...SECURITY GROUPS TO JOIN]
59
63
 
60
64
  If a `key_name` is provided it will be used instead of any
61
65
  `public_key_path` that is specified.
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['j@p4nt5.com']
11
11
  spec.description = %q{A Test Kitchen OpenStack Nova driver}
12
12
  spec.summary = spec.description
13
- spec.homepage = 'https://github.com/RoboticCheese/kitchen-openstack'
13
+ spec.homepage = 'https://github.com/test-kitchen/kitchen-openstack'
14
14
  spec.license = 'Apache'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -29,6 +29,9 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'cane'
30
30
  spec.add_development_dependency 'countloc'
31
31
  spec.add_development_dependency 'rspec'
32
+ spec.add_development_dependency 'simplecov'
33
+ spec.add_development_dependency 'simplecov-console'
34
+ spec.add_development_dependency 'coveralls'
32
35
  end
33
36
 
34
37
  # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -51,6 +51,7 @@ module Kitchen
51
51
  default_config :openstack_network_name, nil
52
52
  default_config :floating_ip_pool, nil
53
53
  default_config :floating_ip, nil
54
+ default_config :security_groups, nil
54
55
 
55
56
  def create(state)
56
57
  config[:server_name] ||= generate_name(instance.name)
@@ -120,8 +121,11 @@ module Kitchen
120
121
  server_def = {
121
122
  :name => config[:server_name],
122
123
  :image_ref => image.id,
123
- :flavor_ref => flavor.id
124
+ :flavor_ref => flavor.id,
124
125
  }
126
+ if config[:security_groups] && config[:security_groups].kind_of?(Array)
127
+ server_def[:security_groups] = config[:security_groups]
128
+ end
125
129
  if config[:public_key_path]
126
130
  server_def[:public_key_path] = config[:public_key_path]
127
131
  end
@@ -19,7 +19,7 @@
19
19
  module Kitchen
20
20
  module Driver
21
21
  # Version string for OpenStack Kitchen driver
22
- OPENSTACK_VERSION = '1.1.0'
22
+ OPENSTACK_VERSION = '1.2.0'
23
23
  end
24
24
  end
25
25
 
@@ -16,11 +16,12 @@
16
16
  # See the License for the specific language governing permissions and
17
17
  # limitations under the License.
18
18
 
19
+ require_relative '../../spec_helper'
20
+
19
21
  require 'logger'
20
22
  require 'stringio'
21
23
  require 'rspec'
22
24
  require 'kitchen'
23
- require_relative '../../spec_helper'
24
25
 
25
26
  describe Kitchen::Driver::Openstack do
26
27
  let(:logged_output) { StringIO.new }
@@ -388,6 +389,30 @@ describe Kitchen::Driver::Openstack do
388
389
  end
389
390
  end
390
391
 
392
+ context 'a provided security group' do
393
+ let(:config) do
394
+ {
395
+ :server_name => 'hello',
396
+ :image_ref => '111',
397
+ :flavor_ref => '1',
398
+ :public_key_path => 'montgomery',
399
+ :key_name => 'tarpals',
400
+ :security_groups => ['ping-and-ssh']
401
+ }
402
+ end
403
+
404
+ before(:each) do
405
+ @expected = config.merge(:name => config[:server_name])
406
+ @expected.delete_if do |k, v|
407
+ k == :server_name
408
+ end
409
+ end
410
+
411
+ it 'passes that security group to Fog' do
412
+ expect(driver.send(:create_server)).to eq(@expected)
413
+ end
414
+ end
415
+
391
416
  context 'image/flavor specifies id' do
392
417
  let(:config) do
393
418
  {
@@ -15,8 +15,21 @@
15
15
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
16
  # See the License for the specific language governing permissions and
17
17
  # limitations under the License.
18
+ #
18
19
 
19
20
  require 'rspec'
21
+ require 'simplecov'
22
+ require 'simplecov-console'
23
+ require 'coveralls'
24
+
25
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
26
+ Coveralls::SimpleCov::Formatter,
27
+ SimpleCov::Formatter::HTMLFormatter,
28
+ SimpleCov::Formatter::Console
29
+ ]
30
+ SimpleCov.minimum_coverage 90
31
+ SimpleCov.start
32
+
20
33
  require_relative '../lib/kitchen/driver/openstack'
21
34
 
22
35
  # vim: ai et ts=2 sts=2 sw=2 ft=ruby
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-openstack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jonathan Hartman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-07 00:00:00.000000000 Z
11
+ date: 2014-01-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: test-kitchen
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: fog
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: unf
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: bundler
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rake
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: tailor
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: cane
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: countloc
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rspec
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,48 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov-console
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coveralls
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
154
177
  requirements:
155
178
  - - ! '>='
156
179
  - !ruby/object:Gem::Version
@@ -174,30 +197,29 @@ files:
174
197
  - lib/kitchen/driver/openstack_version.rb
175
198
  - spec/kitchen/driver/openstack_spec.rb
176
199
  - spec/spec_helper.rb
177
- homepage: https://github.com/RoboticCheese/kitchen-openstack
200
+ homepage: https://github.com/test-kitchen/kitchen-openstack
178
201
  licenses:
179
202
  - Apache
203
+ metadata: {}
180
204
  post_install_message:
181
205
  rdoc_options: []
182
206
  require_paths:
183
207
  - lib
184
208
  required_ruby_version: !ruby/object:Gem::Requirement
185
- none: false
186
209
  requirements:
187
210
  - - ! '>='
188
211
  - !ruby/object:Gem::Version
189
212
  version: '0'
190
213
  required_rubygems_version: !ruby/object:Gem::Requirement
191
- none: false
192
214
  requirements:
193
215
  - - ! '>='
194
216
  - !ruby/object:Gem::Version
195
217
  version: '0'
196
218
  requirements: []
197
219
  rubyforge_project:
198
- rubygems_version: 1.8.23
220
+ rubygems_version: 2.2.1
199
221
  signing_key:
200
- specification_version: 3
222
+ specification_version: 4
201
223
  summary: A Test Kitchen OpenStack Nova driver
202
224
  test_files:
203
225
  - spec/kitchen/driver/openstack_spec.rb