Skip to content

Commit 9e72463

Browse files
authored
Merge pull request #185 from MissionCriticalCloud/sync_resource_using_name
Sync resource using name
2 parents ac39e81 + e2814a6 commit 9e72463

File tree

5 files changed

+94
-47
lines changed

5 files changed

+94
-47
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# 1.5.1 (18 Apr 2019)
2+
3+
**Implemented enhancements:**
4+
5+
- Sync resources by name: sometimes a resource (e.g. templates) were not correctly found; resources are now looked up by specifying the name of the resource
6+
17
# 1.5.0 (17 Oct 2018)
28

39
**Implemented enhancements:**

Gemfile.lock

Lines changed: 79 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,16 @@ GIT
2424
PATH
2525
remote: .
2626
specs:
27-
vagrant-cloudstack (1.5.0)
27+
vagrant-cloudstack (1.5.1)
2828
fog (>= 1.32.0)
2929
fog-xml (>= 0.1.2)
3030

3131
GEM
3232
remote: https://rubygems.org/
3333
specs:
3434
CFPropertyList (2.3.6)
35+
addressable (2.6.0)
36+
public_suffix (>= 2.0.2, < 4.0)
3537
builder (3.2.3)
3638
childprocess (0.6.3)
3739
ffi (~> 1.0, >= 1.0.11)
@@ -41,14 +43,19 @@ GEM
4143
simplecov (>= 0.7)
4244
term-ansicolor (= 1.2.2)
4345
thor (= 0.18.1)
46+
declarative (0.0.10)
47+
declarative-option (0.1.0)
4448
diff-lcs (1.3)
4549
docile (1.3.0)
50+
dry-inflector (0.1.2)
4651
erubis (2.7.0)
47-
excon (0.62.0)
52+
excon (0.64.0)
53+
faraday (0.15.4)
54+
multipart-post (>= 1.2, < 3)
4855
ffi (1.9.23)
4956
fission (0.5.0)
5057
CFPropertyList (~> 2.2)
51-
fog (2.0.0)
58+
fog (2.1.0)
5259
fog-aliyun (>= 0.1.0)
5360
fog-atmos
5461
fog-aws (>= 0.6.0)
@@ -59,7 +66,7 @@ GEM
5966
fog-dnsimple (~> 1.0)
6067
fog-dynect (~> 0.0.2)
6168
fog-ecloud (~> 0.1)
62-
fog-google (<= 0.1.0)
69+
fog-google (~> 1.0)
6370
fog-internet-archive
6471
fog-joyent
6572
fog-json
@@ -83,9 +90,9 @@ GEM
8390
fog-xml (~> 0.1.1)
8491
ipaddress (~> 0.5)
8592
json (~> 2.0)
86-
fog-aliyun (0.2.0)
87-
fog-core (~> 1.27)
88-
fog-json (~> 1.0)
93+
fog-aliyun (0.3.3)
94+
fog-core
95+
fog-json
8996
ipaddress (~> 0.8)
9097
xml-simple (~> 1.1)
9198
fog-atmos (0.1.0)
@@ -96,10 +103,11 @@ GEM
96103
fog-json (~> 1.0)
97104
fog-xml (~> 0.1)
98105
ipaddress (~> 0.8)
99-
fog-brightbox (0.14.0)
100-
fog-core (~> 1.22)
106+
fog-brightbox (0.16.1)
107+
dry-inflector
108+
fog-core
101109
fog-json
102-
inflecto (~> 0.0.2)
110+
mime-types
103111
fog-cloudatcost (0.1.2)
104112
fog-core (~> 1.36)
105113
fog-json (~> 1.0)
@@ -109,10 +117,10 @@ GEM
109117
builder
110118
excon (~> 0.58)
111119
formatador (~> 0.2)
112-
fog-digitalocean (0.3.0)
113-
fog-core (~> 1.42)
114-
fog-json (>= 1.0)
115-
fog-xml (>= 0.1)
120+
fog-digitalocean (0.4.0)
121+
fog-core
122+
fog-json
123+
fog-xml
116124
ipaddress (>= 0.5)
117125
fog-dnsimple (1.0.0)
118126
fog-core (~> 1.38)
@@ -124,38 +132,39 @@ GEM
124132
fog-ecloud (0.3.0)
125133
fog-core
126134
fog-xml
127-
fog-google (0.1.0)
128-
fog-core
129-
fog-json
130-
fog-xml
135+
fog-google (1.9.1)
136+
fog-core (<= 2.1.0)
137+
fog-json (~> 1.2)
138+
fog-xml (~> 0.1.0)
139+
google-api-client (~> 0.23.0)
131140
fog-internet-archive (0.0.1)
132141
fog-core
133142
fog-json
134143
fog-xml
135144
fog-joyent (0.0.1)
136145
fog-core (~> 1.42)
137146
fog-json (>= 1.0)
138-
fog-json (1.0.2)
139-
fog-core (~> 1.0)
147+
fog-json (1.2.0)
148+
fog-core
140149
multi_json (~> 1.10)
141-
fog-local (0.5.0)
150+
fog-local (0.6.0)
142151
fog-core (>= 1.27, < 3.0)
143-
fog-openstack (0.1.25)
144-
fog-core (~> 1.40)
152+
fog-openstack (0.3.10)
153+
fog-core (>= 1.45, <= 2.1.0)
145154
fog-json (>= 1.0)
146155
ipaddress (>= 0.8)
147156
fog-ovirt (0.0.1)
148157
fog-core (~> 1.45)
149158
fog-json
150159
fog-xml (~> 0.1.1)
151-
fog-powerdns (0.1.1)
152-
fog-core (~> 1.27)
153-
fog-json (~> 1.0)
154-
fog-xml (~> 0.1)
160+
fog-powerdns (0.2.0)
161+
fog-core
162+
fog-json
163+
fog-xml
155164
fog-profitbricks (4.1.1)
156165
fog-core (~> 1.42)
157166
fog-json (~> 1.0)
158-
fog-rackspace (0.1.5)
167+
fog-rackspace (0.1.6)
159168
fog-core (>= 1.35)
160169
fog-json (>= 1.0)
161170
fog-xml (>= 0.1)
@@ -189,26 +198,42 @@ GEM
189198
fog-voxel (0.1.0)
190199
fog-core
191200
fog-xml
192-
fog-vsphere (2.0.1)
201+
fog-vsphere (3.0.0)
193202
fog-core
194-
rbvmomi (~> 1.9)
195-
fog-xenserver (0.3.0)
203+
rbvmomi (>= 1.9, < 3)
204+
fog-xenserver (1.0.0)
196205
fog-core
197206
fog-xml
207+
xmlrpc
198208
fog-xml (0.1.3)
199209
fog-core
200210
nokogiri (>= 1.5.11, < 2.0.0)
201211
formatador (0.2.5)
212+
google-api-client (0.23.9)
213+
addressable (~> 2.5, >= 2.5.1)
214+
googleauth (>= 0.5, < 0.7.0)
215+
httpclient (>= 2.8.1, < 3.0)
216+
mime-types (~> 3.0)
217+
representable (~> 3.0)
218+
retriable (>= 2.0, < 4.0)
219+
signet (~> 0.9)
220+
googleauth (0.6.7)
221+
faraday (~> 0.12)
222+
jwt (>= 1.4, < 3.0)
223+
memoist (~> 0.16)
224+
multi_json (~> 1.11)
225+
os (>= 0.9, < 2.0)
226+
signet (~> 0.7)
202227
gssapi (1.2.0)
203228
ffi (>= 1.0.1)
204229
gyoku (1.3.1)
205230
builder (>= 2.1.2)
206231
hashicorp-checkpoint (0.1.5)
207232
httpclient (2.8.3)
208233
i18n (0.8.0)
209-
inflecto (0.0.2)
210234
ipaddress (0.8.3)
211235
json (2.1.0)
236+
jwt (2.1.0)
212237
listen (3.1.5)
213238
rb-fsevent (~> 0.9, >= 0.9.4)
214239
rb-inotify (~> 0.9, >= 0.9.7)
@@ -218,32 +243,42 @@ GEM
218243
logging (2.2.2)
219244
little-plugger (~> 1.1)
220245
multi_json (~> 1.10)
246+
memoist (0.16.0)
221247
mime-types (3.1)
222248
mime-types-data (~> 3.2015)
223249
mime-types-data (3.2016.0521)
224-
mini_portile2 (2.3.0)
250+
mini_portile2 (2.4.0)
225251
multi_json (1.13.1)
252+
multipart-post (2.0.0)
226253
net-scp (1.2.1)
227254
net-ssh (>= 2.6.5)
228255
net-sftp (2.1.2)
229256
net-ssh (>= 2.6.5)
230257
net-ssh (4.2.0)
231-
nokogiri (1.8.2)
232-
mini_portile2 (~> 2.3.0)
258+
nokogiri (1.10.2)
259+
mini_portile2 (~> 2.4.0)
233260
nori (2.6.0)
261+
optimist (3.0.0)
262+
os (1.0.0)
263+
public_suffix (3.0.3)
234264
rake (10.5.0)
235265
rb-fsevent (0.10.3)
236266
rb-inotify (0.9.10)
237267
ffi (>= 0.5.0, < 2)
238268
rb-kqueue (0.2.5)
239269
ffi (>= 0.5.0)
240-
rbvmomi (1.11.7)
270+
rbvmomi (2.1.1)
241271
builder (~> 3.0)
242272
json (>= 1.8)
243273
nokogiri (~> 1.5)
244-
trollop (~> 2.1)
274+
optimist (~> 3.0)
275+
representable (3.0.4)
276+
declarative (< 0.1.0)
277+
declarative-option (< 0.2.0)
278+
uber (< 0.2.0)
245279
rest-client (1.6.7)
246280
mime-types (>= 1.16)
281+
retriable (3.1.2)
247282
rspec-core (3.7.1)
248283
rspec-support (~> 3.7.0)
249284
rspec-expectations (3.7.0)
@@ -259,6 +294,11 @@ GEM
259294
ruby_dep (1.3.1)
260295
rubyntlm (0.6.2)
261296
rubyzip (1.2.1)
297+
signet (0.11.0)
298+
addressable (~> 2.3)
299+
faraday (~> 0.9)
300+
jwt (>= 1.5, < 3.0)
301+
multi_json (~> 1.10)
262302
simplecov (0.16.1)
263303
docile (~> 1.1)
264304
json (>= 1.8, < 3)
@@ -268,7 +308,7 @@ GEM
268308
tins (~> 0.8)
269309
thor (0.18.1)
270310
tins (0.13.2)
271-
trollop (2.1.2)
311+
uber (0.1.0)
272312
wdm (0.1.1)
273313
winrm (2.2.3)
274314
builder (>= 2.1.2)
@@ -288,6 +328,7 @@ GEM
288328
rubyzip (~> 1.1)
289329
winrm (~> 2.0)
290330
xml-simple (1.1.5)
331+
xmlrpc (0.3.0)
291332

292333
PLATFORMS
293334
ruby

lib/vagrant-cloudstack/action/run_instance.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ def initialize_parameters
114114

115115
def resolve_parameters
116116
begin
117-
@resource_service.sync_resource(@zone, {available: true})
118-
@resource_service.sync_resource(@service_offering, {listall: true})
119-
@resource_service.sync_resource(@disk_offering, {listall: true})
120-
@resource_service.sync_resource(@template, {zoneid: @zone.id, templatefilter: 'executable', listall: true})
117+
@resource_service.sync_resource(@zone, {available: true, name: @zone.name})
118+
@resource_service.sync_resource(@service_offering, {listall: true, name: @service_offering.name})
119+
@resource_service.sync_resource(@disk_offering, {listall: true, name: @disk_offering.name})
120+
@resource_service.sync_resource(@template, {zoneid: @zone.id, templatefilter: 'executable', listall: true, name: @template.name})
121121
@resource_service.sync_resource(@pf_ip_address)
122122
rescue CloudstackResourceNotFound => e
123123
@env[:ui].error(e.message)

lib/vagrant-cloudstack/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module VagrantPlugins
22
module Cloudstack
3-
VERSION = '1.5.0'
3+
VERSION = '1.5.1'
44
end
55
end

spec/vagrant-cloudstack/action/run_instance_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,11 @@
262262
expect(server).to receive(:wait_for).and_return(ready = true)
263263
allow(server).to receive(:password_enabled).and_return(false)
264264
expect(cloudstack_compute).to receive(:servers).and_return(servers)
265-
allow(cloudstack_compute).to receive(:send).with(:list_zones, available: true).and_return(list_zones_response)
266-
allow(cloudstack_compute).to receive(:send).with(:list_service_offerings, listall: true)
265+
allow(cloudstack_compute).to receive(:send).with(:list_zones, available: true, name: ZONE_NAME).and_return(list_zones_response)
266+
allow(cloudstack_compute).to receive(:send).with(:list_service_offerings, listall: true, name: SERVICE_OFFERING_NAME)
267267
.and_return(list_service_offerings_response)
268268
allow(cloudstack_compute).to receive(:send)
269-
.with(:list_templates, zoneid: ZONE_ID, templatefilter: 'executable', listall: true)
269+
.with(:list_templates, zoneid: ZONE_ID, templatefilter: 'executable', listall: true, name: TEMPLATE_NAME)
270270
.and_return(list_templates_response)
271271
allow(cloudstack_compute).to receive(:zones).and_return([cloudstack_zone])
272272
allow(servers).to receive(:create).with(create_servers_parameters).and_return(server)
@@ -413,7 +413,7 @@
413413
let(:volume) { double('Fog::Compute::Cloudstack::Volume') }
414414

415415
before(:each) do
416-
allow(cloudstack_compute).to receive(:send).with(:list_disk_offerings, listall: true)
416+
allow(cloudstack_compute).to receive(:send).with(:list_disk_offerings, listall: true, name: DISK_OFFERING_NAME)
417417
.and_return(list_disk_offerings_response)
418418
expect(cloudstack_compute).to receive(:volumes).and_return([volume])
419419
allow(volume).to receive(:server_id).and_return(SERVER_ID)

0 commit comments

Comments
 (0)