kitchen-rackspace 0.3.0 → 0.4.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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NDExNDM2OTBiYWU2ZjU2NTg5NjAyODY3YWVkNTlkZThkYjFjMTZlZA==
5
+ data.tar.gz: !binary |-
6
+ MDhiYjVjYjhmZWUwYjExZTM0MDYxZjczZWU5OWRjNWI2MjQ0ZDJjYg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MTNlYmVmODNjNTE2ODc1YzdhZWE1Mzc1ZDU0YzljNzI3NWIyNGM5YTg4NDI1
10
+ YzdjYWI1YzI4MTRkZjQ5Mjk1ZDM1NGZiODAwODMwYjMzYjcxZDRhODk2ODRi
11
+ ZDBlMjkxMDAxNDdkYTI2MWIzYmJmMmFhYTJlODJhZWNjNWIzZjU=
12
+ data.tar.gz: !binary |-
13
+ NDc5YTMzNGUyNDg4YTQyZWUyMjBlOGE3MmQxOTM1NWUzZTE1NDI2ZjZiNmFh
14
+ MWRhYmFkMzA5YjE5ZGIwMWJhZGIxOGU5YWI2MDUxOWE0MTg4ZTdiZDM5YzQ1
15
+ MzQxZTRhZWFhODgwNDY5NTY0ZDcyMDA1NDcwOTRiYWZhOWI2YWQ=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # 0.4.0 / 2014-01-27
2
+
3
+ ### New Features
4
+
5
+ * PR [#17][] - Support the common TK platform name style, e.g. `centos-6`,
6
+ via [@coderanger][]
7
+ * PR [#17][] - Support environment variables for username and API key, via
8
+ [@coderanger][]
9
+
10
+ ### Improvements
11
+
12
+ * PR [#17][] - Change default flavor to lowest performance flavor for faster
13
+ boot times, via [@coderanger][]
14
+
1
15
  # 0.3.0 / 2013-12-07
2
16
 
3
17
  ### Improvements
@@ -24,9 +38,11 @@
24
38
 
25
39
  * Initial release! Woo!
26
40
 
27
- [#15]: https://github.com/RoboticCheese/kitchen-rackspace/pull/15
28
- [#9]: https://github.com/RoboticCheese/kitchen-rackspace/pull/9
29
- [#8]: https://github.com/RoboticCheese/kitchen-rackspace/pull/8
30
- [#7]: https://github.com/RoboticCheese/kitchen-rackspace/pull/7
41
+ [#17]: https://github.com/test-kitchen/kitchen-rackspace/pull/17
42
+ [#15]: https://github.com/test-kitchen/kitchen-rackspace/pull/15
43
+ [#9]: https://github.com/test-kitchen/kitchen-rackspace/pull/9
44
+ [#8]: https://github.com/test-kitchen/kitchen-rackspace/pull/8
45
+ [#7]: https://github.com/test-kitchen/kitchen-rackspace/pull/7
31
46
 
47
+ [@coderanger]: https://github.com/coderanger
32
48
  [@claco]: https://github.com/claco
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  Author:: Jonathan Hartman (<j@p4nt5.com>)
2
2
 
3
- Copyright (c) 2013 Jonathan Hartman
3
+ Copyright (c) 2013-2014 Jonathan Hartman
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/kitchen-rackspace.png)](http://badge.fury.io/rb/kitchen-rackspace)
2
- [![Build Status](https://travis-ci.org/RoboticCheese/kitchen-rackspace.png?branch=master)](https://travis-ci.org/RoboticCheese/kitchen-rackspace)
3
- [![Code Climate](https://codeclimate.com/github/RoboticCheese/kitchen-rackspace.png)](https://codeclimate.com/github/RoboticCheese/kitchen-rackspace)
4
- [![Dependency Status](https://gemnasium.com/RoboticCheese/kitchen-rackspace.png)](https://gemnasium.com/RoboticCheese/kitchen-rackspace)
2
+ [![Build Status](https://travis-ci.org/test-kitchen/kitchen-rackspace.png?branch=master)](https://travis-ci.org/test-kitchen/kitchen-rackspace)
3
+ [![Code Climate](https://codeclimate.com/github/test-kitchen/kitchen-rackspace.png)](https://codeclimate.com/github/test-kitchen/kitchen-rackspace)
4
+ [![Coverage Status](https://coveralls.io/repos/test-kitchen/kitchen-rackspace/badge.png)](https://coveralls.io/r/test-kitchen/kitchen-rackspace)
5
+ [![Dependency Status](https://gemnasium.com/test-kitchen/kitchen-rackspace.png)](https://gemnasium.com/test-kitchen/kitchen-rackspace)
5
6
 
6
7
  # Kitchen::Rackspace
7
8
 
@@ -33,9 +34,11 @@ Provide, at a minimum, the required driver options in your `.kitchen.yml` file:
33
34
  rackspace_username: [YOUR RACKSPACE CLOUD USERNAME]
34
35
  rackspace_api_key: [YOUR RACKSPACE CLOUD API KEY]
35
36
  require_chef_omnibus: latest (if you'll be using Chef)
37
+ platforms:
38
+ - name: [A PLATFORM NAME, e.g. 'centos-6']
36
39
 
37
- By default, the driver will spawn a 512MB Ubuntu 12.10 instance in your default
38
- Rackspace region. Additional, optional settings can be provided:
40
+ By default, the driver will spawn a 1GB Performance server on the base image
41
+ for your specified platform. Additional, optional overrides can be provided:
39
42
 
40
43
  image_id: [SERVER IMAGE ID]
41
44
  flavor_id: [SERVER FLAVOR ID]
@@ -43,6 +46,11 @@ Rackspace region. Additional, optional settings can be provided:
43
46
  public_key_path: [PATH TO YOUR PUBLIC SSH KEY]
44
47
  rackspace_region: [A VALID RACKSPACE DC/REGION]
45
48
 
49
+ You also have the option of providing some configs via environment variables:
50
+
51
+ export RACKSPACE_USERNAME="user" # (or OS_USERNAME)
52
+ export RACKSPACE_API_KEY="api_key" # (or OS_PASSWORD)
53
+
46
54
  ## Contributing
47
55
 
48
56
  1. Fork it
data/data/images.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "ubuntu-10.04": "aab63bcf-89aa-440f-b0c7-c7a1c611914b",
3
+ "ubuntu-12.04": "80fbcb55-b206-41f9-9bc2-2dd7aac6c061",
4
+ "ubuntu-13.04": "4b54f5a0-137f-4751-8e7c-fe707185e531",
5
+ "ubuntu-13.10": "df27d481-63a5-40ca-8920-3d132ed643d9",
6
+ "centos-5.9": "59c037c1-70ec-41e4-aa17-73a9b0cb6b16",
7
+ "centos-5.10": "9522c27d-51d9-44ee-8eb3-fb7b14fd4042",
8
+ "centos-5": "9522c27d-51d9-44ee-8eb3-fb7b14fd4042",
9
+ "centos-6.4": "f70ed7c7-b42e-4d77-83d8-40fa29825b85",
10
+ "centos-6": "f70ed7c7-b42e-4d77-83d8-40fa29825b85",
11
+ "debian-6": "695ca76e-fc0d-4e36-82e0-8ed66480a999",
12
+ "debian-7": "857d7d36-34f3-409f-8435-693e8797be8b",
13
+ "fedora-18": "896caae3-82f1-4b03-beaa-75fbdde27969",
14
+ "fedora-19": "8500226f-b193-4471-9eff-9cba8440bfc8",
15
+ "gentoo": "73764eb8-3c1c-42a9-8fff-71f6beefc6a7",
16
+ "freebsd-9.2": "fb624ffd-81c2-4217-8cd5-da32d32e85c4"
17
+ }
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['j@p4nt5.com']
11
11
  spec.description = %q{A Test Kitchen Rackspace driver}
12
12
  spec.summary = spec.description
13
- spec.homepage = 'https://github.com/RoboticCheese/kitchen-rackspace'
13
+ spec.homepage = 'https://github.com/test-kitchen/kitchen-rackspace'
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
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
4
  #
5
- # Copyright (C) 2013, Jonathan Hartman
5
+ # Copyright (C) 2013-2014, Jonathan Hartman
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
8
8
  # you may not use this file except in compliance with the License.
@@ -29,16 +29,42 @@ module Kitchen
29
29
  # @author Jonathan Hartman <j@p4nt5.com>
30
30
  class Rackspace < Kitchen::Driver::SSHBase
31
31
  default_config :version, 'v2'
32
- default_config :image_id, 'd45ed9c5-d6fc-4c9d-89ea-1b3ae1c83999'
33
- default_config :flavor_id, '2'
34
- default_config :server_name, nil
35
- default_config :public_key_path, File.expand_path('~/.ssh/id_dsa.pub')
32
+ default_config :flavor_id, 'performance1-1'
36
33
  default_config :username, 'root'
37
34
  default_config :port, '22'
38
35
  default_config :rackspace_region, nil
39
36
 
37
+ default_config :image_id do |driver|
38
+ driver.default_image
39
+ end
40
+
41
+ default_config :server_name do |driver|
42
+ driver.default_name
43
+ end
44
+
45
+ default_config :public_key_path do |driver|
46
+ [
47
+ File.expand_path('~/.ssh/id_rsa.pub'),
48
+ File.expand_path('~/.ssh/id_dsa.pub'),
49
+ File.expand_path('~/.ssh/identity.pub'),
50
+ File.expand_path('~/.ssh/id_ecdsa.pub'),
51
+ ].find { |path| File.exists?(path) }
52
+ end
53
+
54
+ default_config :rackspace_username do |driver|
55
+ ENV['RACKSPACE_USERNAME'] || ENV['OS_USERNAME']
56
+ end
57
+
58
+ default_config :rackspace_api_key do |driver|
59
+ ENV['RACKSPACE_API_KEY'] || ENV['OS_PASSWORD']
60
+ end
61
+
62
+ required_config :rackspace_username
63
+ required_config :rackspace_api_key
64
+ required_config :image_id
65
+ required_config :public_key_path
66
+
40
67
  def create(state)
41
- config[:server_name] ||= generate_name(instance.name)
42
68
  server = create_server
43
69
  state[:server_id] = server.id
44
70
  info("Rackspace instance <#{state[:server_id]}> created.")
@@ -59,6 +85,16 @@ module Kitchen
59
85
  state.delete(:hostname)
60
86
  end
61
87
 
88
+ def default_image
89
+ images[instance.platform.name]
90
+ end
91
+
92
+ def default_name
93
+ # Generate what should be a unique server name
94
+ rand_str = Array.new(8) { rand(36).to_s(36) }.join
95
+ "#{instance.name}-#{Etc.getlogin}-#{Socket.gethostname}-#{rand_str}"
96
+ end
97
+
62
98
  private
63
99
 
64
100
  def compute
@@ -83,10 +119,14 @@ module Kitchen
83
119
  )
84
120
  end
85
121
 
86
- def generate_name(base)
87
- # Generate what should be a unique server name
88
- rand_str = Array.new(8) { rand(36).to_s(36) }.join
89
- "#{base}-#{Etc.getlogin}-#{Socket.gethostname}-#{rand_str}"
122
+ def images
123
+ @images ||= begin
124
+ json_file = File.expand_path(
125
+ File.join(%w{.. .. .. .. data images.json}),
126
+ __FILE__
127
+ )
128
+ JSON.load(IO.read(json_file))
129
+ end
90
130
  end
91
131
  end
92
132
  end
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
4
  #
5
- # Copyright (C) 2013, Jonathan Hartman
5
+ # Copyright (C) 2013-2014, Jonathan Hartman
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
8
8
  # you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
19
19
  module Kitchen
20
20
  module Driver
21
21
  # Version string for Rackspace Kitchen driver
22
- RACKSPACE_VERSION = '0.3.0'
22
+ RACKSPACE_VERSION = '0.4.0'
23
23
  end
24
24
  end
25
25
 
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
4
  #
5
- # Copyright (C) 2013, Jonathan Hartman
5
+ # Copyright (C) 2013-2014, Jonathan Hartman
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
8
8
  # you may not use this file except in compliance with the License.
@@ -16,20 +16,27 @@
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::Rackspace do
26
27
  let(:logged_output) { StringIO.new }
27
28
  let(:logger) { Logger.new(logged_output) }
28
29
  let(:config) { Hash.new }
29
30
  let(:state) { Hash.new }
31
+ let(:platform_name) { 'ubuntu' }
30
32
 
31
33
  let(:instance) do
32
- stub(:name => 'potatoes', :logger => logger, :to_str => 'instance')
34
+ double(
35
+ :name => 'potatoes',
36
+ :logger => logger,
37
+ :to_str => 'instance',
38
+ :platform => double(:name => platform_name)
39
+ )
33
40
  end
34
41
 
35
42
  let(:driver) do
@@ -38,23 +45,25 @@ describe Kitchen::Driver::Rackspace do
38
45
  d
39
46
  end
40
47
 
48
+ before(:each) do
49
+ ENV['RACKSPACE_USERNAME'] = 'user'
50
+ ENV['RACKSPACE_API_KEY'] = 'key'
51
+ end
52
+
41
53
  describe '#initialize'do
42
54
  context 'default options' do
43
55
  it 'defaults to v2 cloud' do
44
56
  expect(driver[:version]).to eq('v2')
45
57
  end
46
58
 
47
- it 'defaults to a Ubuntu 12.10 image ID' do
48
- expect(driver[:image_id]).to eq('d45ed9c5-d6fc-4c9d-89ea-1b3ae1c83999')
49
- end
50
-
51
59
  it 'defaults to the smallest flavor size' do
52
- expect(driver[:flavor_id]).to eq('2')
60
+ expect(driver[:flavor_id]).to eq('performance1-1')
53
61
  end
54
62
 
55
- it 'defaults to local user\'s SSH public key' do
56
- expect(driver[:public_key_path]).to eq(File.expand_path(
57
- '~/.ssh/id_dsa.pub'))
63
+ it "defaults to local user's SSH public key" do
64
+ path = File.expand_path('~/.ssh/id_rsa.pub')
65
+ expect(File).to receive(:exists?).with(path).and_return(true)
66
+ expect(driver[:public_key_path]).to eq(path)
58
67
  end
59
68
 
60
69
  it 'defaults to SSH with root user on port 22' do
@@ -62,46 +71,86 @@ describe Kitchen::Driver::Rackspace do
62
71
  expect(driver[:port]).to eq('22')
63
72
  end
64
73
 
65
- it 'defaults to no server name' do
66
- expect(driver[:server_name]).to eq(nil)
74
+ it 'defaults to a random server name' do
75
+ expect(driver[:server_name]).to be_a(String)
67
76
  end
68
77
 
69
78
  it 'defaults to no region' do
70
79
  expect(driver[:rackspace_region]).to eq(nil)
71
80
  end
81
+
82
+ it 'defaults to username from $RACKSPACE_USERNAME' do
83
+ expect(driver[:rackspace_username]).to eq('user')
84
+ end
85
+
86
+ it 'defaults to API key from $RACKSPACE_API_KEY' do
87
+ expect(driver[:rackspace_api_key]).to eq('key')
88
+ end
72
89
  end
73
90
 
74
- context 'overridden options' do
75
- let(:config) do
76
- {
77
- :image_id => '22',
78
- :flavor_id => '33',
79
- :public_key_path => '/tmp',
80
- :username => 'admin',
81
- :port => '2222',
82
- :server_name => 'puppy',
83
- :rackspace_region => 'ord'
84
- }
91
+ context 'name is ubuntu-12.04' do
92
+ let(:platform_name) { 'ubuntu-12.04' }
93
+
94
+ it 'defaults to the correct image ID' do
95
+ expect(driver[:image_id]).to eq('80fbcb55-b206-41f9-9bc2-2dd7aac6c061')
85
96
  end
97
+ end
86
98
 
87
- it 'uses all the overridden options' do
88
- drv = driver
89
- config.each do |k, v|
90
- expect(drv[k]).to eq(v)
99
+ context 'name is centos-6.4' do
100
+ let(:platform_name) { 'centos-6.4' }
101
+
102
+ it 'defaults to the correct image ID' do
103
+ expect(driver[:image_id]).to eq('f70ed7c7-b42e-4d77-83d8-40fa29825b85')
104
+ end
105
+ end
106
+
107
+ context 'overridden options' do
108
+ config = {
109
+ :image_id => '22',
110
+ :flavor_id => '33',
111
+ :public_key_path => '/tmp',
112
+ :username => 'admin',
113
+ :port => '2222',
114
+ :server_name => 'puppy',
115
+ :rackspace_region => 'ord'
116
+ }
117
+
118
+ let(:config) { config }
119
+
120
+ config.each do |key, value|
121
+ it "it uses the overridden #{key} option" do
122
+ expect(driver[key]).to eq(value)
91
123
  end
92
124
  end
93
125
  end
126
+
127
+ context 'OpenStack environment variables' do
128
+ before(:each) do
129
+ ENV.delete('RACKSPACE_USERNAME')
130
+ ENV.delete('RACKSPACE_API_KEY')
131
+ ENV['OS_USERNAME'] = 'os_user'
132
+ ENV['OS_PASSWORD'] = 'os_pass'
133
+ end
134
+
135
+ it 'gets to username from $OS_USERNAME' do
136
+ expect(driver[:rackspace_username]).to eq('os_user')
137
+ end
138
+
139
+ it 'gets to API key from $OS_PASSWORD' do
140
+ expect(driver[:rackspace_api_key]).to eq('os_pass')
141
+ end
142
+ end
94
143
  end
95
144
 
96
145
  describe '#create' do
97
146
  let(:server) do
98
- stub(:id => 'test123', :wait_for => true,
147
+ double(:id => 'test123', :wait_for => true,
99
148
  :public_ip_address => '1.2.3.4')
100
149
  end
101
150
  let(:driver) do
102
151
  d = Kitchen::Driver::Rackspace.new(config)
103
152
  d.instance = instance
104
- d.stub(:generate_name).with('potatoes').and_return('a_monkey!')
153
+ d.stub(:default_name).and_return('a_monkey!')
105
154
  d.stub(:create_server).and_return(server)
106
155
  d.stub(:wait_for_sshd).with('1.2.3.4').and_return(true)
107
156
  d
@@ -136,9 +185,9 @@ describe Kitchen::Driver::Rackspace do
136
185
  let(:server_id) { '12345' }
137
186
  let(:hostname) { 'example.com' }
138
187
  let(:state) { { :server_id => server_id, :hostname => hostname } }
139
- let(:server) { stub(:nil? => false, :destroy => true) }
140
- let(:servers) { stub(:get => server) }
141
- let(:compute) { stub(:servers => servers) }
188
+ let(:server) { double(:nil? => false, :destroy => true) }
189
+ let(:servers) { double(:get => server) }
190
+ let(:compute) { double(:servers => servers) }
142
191
 
143
192
  let(:driver) do
144
193
  d = Kitchen::Driver::Rackspace.new(config)
@@ -172,7 +221,7 @@ describe Kitchen::Driver::Rackspace do
172
221
  s.stub(:get).with('12345').and_return(nil)
173
222
  s
174
223
  end
175
- let(:compute) { stub(:servers => servers) }
224
+ let(:compute) { double(:servers => servers) }
176
225
  let(:driver) do
177
226
  d = Kitchen::Driver::Rackspace.new(config)
178
227
  d.instance = instance
@@ -205,7 +254,9 @@ describe Kitchen::Driver::Rackspace do
205
254
  end
206
255
 
207
256
  context 'no username provided' do
208
- let(:config) { { :rackspace_api_key => '1234' } }
257
+ let(:config) do
258
+ { :rackspace_username => nil, :rackspace_api_key => '1234' }
259
+ end
209
260
 
210
261
  it 'raises an error' do
211
262
  expect { driver.send(:compute) }.to raise_error(ArgumentError)
@@ -213,7 +264,9 @@ describe Kitchen::Driver::Rackspace do
213
264
  end
214
265
 
215
266
  context 'no API key provided' do
216
- let(:config) { { :rackspace_username => 'monkey' } }
267
+ let(:config) do
268
+ { :rackspace_username => 'monkey', :rackspace_api_key => nil }
269
+ end
217
270
 
218
271
  it 'raises an error' do
219
272
  expect { driver.send(:compute) }.to raise_error(ArgumentError)
@@ -241,7 +294,7 @@ describe Kitchen::Driver::Rackspace do
241
294
  s.stub(:bootstrap) { |arg| arg }
242
295
  s
243
296
  end
244
- let(:compute) { stub(:servers => servers) }
297
+ let(:compute) { double(:servers => servers) }
245
298
  let(:driver) do
246
299
  d = Kitchen::Driver::Rackspace.new(config)
247
300
  d.instance = instance
@@ -254,15 +307,15 @@ describe Kitchen::Driver::Rackspace do
254
307
  end
255
308
  end
256
309
 
257
- describe '#generate_name' do
310
+ describe '#default_name' do
258
311
  before(:each) do
259
312
  Etc.stub(:getlogin).and_return('user')
260
313
  Socket.stub(:gethostname).and_return('host')
261
314
  end
262
315
 
263
316
  it 'generates a name' do
264
- expect(driver.send(:generate_name, 'monkey')).to match(
265
- /^monkey-user-host-/)
317
+ expect(driver.default_name).to match(
318
+ /^potatoes-user-host-/)
266
319
  end
267
320
  end
268
321
  end
data/spec/spec_helper.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
4
  #
5
- # Copyright (C) 2013, Jonathan Hartman
5
+ # Copyright (C) 2013-2014, Jonathan Hartman
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
8
8
  # you may not use this file except in compliance with the License.
@@ -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/rackspace'
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-rackspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.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-27 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
@@ -169,35 +192,35 @@ files:
169
192
  - LICENSE.txt
170
193
  - README.md
171
194
  - Rakefile
195
+ - data/images.json
172
196
  - kitchen-rackspace.gemspec
173
197
  - lib/kitchen/driver/rackspace.rb
174
198
  - lib/kitchen/driver/rackspace_version.rb
175
199
  - spec/kitchen/driver/rackspace_spec.rb
176
200
  - spec/spec_helper.rb
177
- homepage: https://github.com/RoboticCheese/kitchen-rackspace
201
+ homepage: https://github.com/test-kitchen/kitchen-rackspace
178
202
  licenses:
179
203
  - Apache
204
+ metadata: {}
180
205
  post_install_message:
181
206
  rdoc_options: []
182
207
  require_paths:
183
208
  - lib
184
209
  required_ruby_version: !ruby/object:Gem::Requirement
185
- none: false
186
210
  requirements:
187
211
  - - ! '>='
188
212
  - !ruby/object:Gem::Version
189
213
  version: '0'
190
214
  required_rubygems_version: !ruby/object:Gem::Requirement
191
- none: false
192
215
  requirements:
193
216
  - - ! '>='
194
217
  - !ruby/object:Gem::Version
195
218
  version: '0'
196
219
  requirements: []
197
220
  rubyforge_project:
198
- rubygems_version: 1.8.23
221
+ rubygems_version: 2.2.1
199
222
  signing_key:
200
- specification_version: 3
223
+ specification_version: 4
201
224
  summary: A Test Kitchen Rackspace driver
202
225
  test_files:
203
226
  - spec/kitchen/driver/rackspace_spec.rb