kitchen-softlayer 0.0.4 → 0.0.5
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/README.md +2 -4
- data/lib/kitchen/driver/softlayer.rb +38 -0
- data/lib/kitchen/driver/softlayer_version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2970baee9c2a2f9df34f646297aaaea4098166a
|
4
|
+
data.tar.gz: 39be4922d63ed46addb9437c664c0f73ee3eb884
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd8e31927b71615585a9502298454735d9e48dbeccef8545d9b9514d8123b8a5431c4104670620dd5986c88b22b89189fcd227585242c94cca1f63f4177e2d0b
|
7
|
+
data.tar.gz: 4465cc309e97b46ed3580d25df07791dcc6a1bde2c569e72716c181f4def63f5c4bc1cc69ad263a5d2af6aed34c13cc2a2e5be16264c4f7a6036a10799f63898
|
data/README.md
CHANGED
@@ -111,7 +111,7 @@ disk | nil | disk size
|
|
111
111
|
flavor_id | nil | type of server i.e. m1.tiny
|
112
112
|
bare_metal | false | server to be created on bare metal (takes longer)
|
113
113
|
os_code | nil | softlayer's operating System Reference Code
|
114
|
-
image_id | nil | image
|
114
|
+
image_id | nil | image name or internal id
|
115
115
|
ephemeral_storage | nil | storage
|
116
116
|
network_components | nil | network
|
117
117
|
ssh_timeout | 300 | timeout to ssh when server starting
|
@@ -127,12 +127,10 @@ private_network_only | false | if only a private network
|
|
127
127
|
use_private_ip_with_public_network | false | otherwise uses public ip
|
128
128
|
user_data | nil | user data for server
|
129
129
|
uid | nil | softlayer global id
|
130
|
-
vlan | nil | numeric id of
|
130
|
+
vlan | nil | numeric id of vlan for server
|
131
131
|
private_vlan | nil | numeric id of private_vlan for server
|
132
132
|
provision_script | nil | url of provision script to run
|
133
133
|
|
134
|
-
NOTE: provision_script parameter needs pull request [#73](https://github.com/fog/fog-softlayer/pull/73)
|
135
|
-
|
136
134
|
## Contributing
|
137
135
|
|
138
136
|
1. Fork it
|
@@ -167,6 +167,37 @@ module Kitchen
|
|
167
167
|
s
|
168
168
|
end
|
169
169
|
|
170
|
+
def find_image(image_name)
|
171
|
+
id = nil
|
172
|
+
images = compute.images.all
|
173
|
+
images.each do |image|
|
174
|
+
if image.name == image_name
|
175
|
+
id = image.id
|
176
|
+
debug "Found public image #{id} for name #{image_name}"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
images = compute.images.private
|
180
|
+
images.each do |image|
|
181
|
+
if image.name == image_name
|
182
|
+
id = image.id
|
183
|
+
debug "Found private image #{id} for name #{image_name}"
|
184
|
+
end
|
185
|
+
end
|
186
|
+
fail "No image found with name #{image_name}" if id.nil?
|
187
|
+
id
|
188
|
+
end
|
189
|
+
|
190
|
+
def find_network(vlan)
|
191
|
+
debug "Looking for network for vlan number #{vlan}"
|
192
|
+
response = network.list_networks
|
193
|
+
response.body.each do |r|
|
194
|
+
next unless r['vlanNumber'] == vlan
|
195
|
+
debug "Found network id #{r['id']} for vlan number #{r['vlanNumber']}"
|
196
|
+
return r['id']
|
197
|
+
end
|
198
|
+
fail "No network found for vlan number #{r['vlanNumber']}"
|
199
|
+
end
|
200
|
+
|
170
201
|
def create_server
|
171
202
|
server_def = init_configuration
|
172
203
|
# TODO: figure out network options
|
@@ -222,6 +253,13 @@ module Kitchen
|
|
222
253
|
case c
|
223
254
|
when :user_data
|
224
255
|
File.open(config[c]).read if File.exist?(config[c])
|
256
|
+
when :vlan
|
257
|
+
find_network(config[c])
|
258
|
+
when :private_vlan
|
259
|
+
find_network(config[c])
|
260
|
+
when :image_id
|
261
|
+
return config[c] if config[c].match('^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
262
|
+
find_image(config[c])
|
225
263
|
else
|
226
264
|
config[c]
|
227
265
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-softlayer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neill Turner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|