azure-armrest 0.3.0 → 0.3.1
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/.travis.yml +2 -3
- data/CHANGES +9 -0
- data/azure-armrest.gemspec +2 -1
- data/lib/azure/armrest.rb +1 -0
- data/lib/azure/armrest/availability_set_service.rb +0 -4
- data/lib/azure/armrest/model/storage_account.rb +3 -5
- data/lib/azure/armrest/resource_group_based_service.rb +8 -11
- data/lib/azure/armrest/storage_account_service.rb +10 -15
- data/lib/azure/armrest/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81c1664938977f85f9b79045d208233777851e8a
|
4
|
+
data.tar.gz: 4418b381009c2c0274e7fd45f217ca114a44ae8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b101ce1ef690827027dfd59ab2c509064afd8f488cc96b6879466ae29d9dca2b699a4fa6227022b5594e8f575f173f14e1a6c66805baa0d8cbdeee377c9ea236
|
7
|
+
data.tar.gz: 274f153ce11e6628d91bdf0bc21ef0dc15ad88c2bdf801705a5cdc14d159d3fff5ef1a61dbe370fb57d8a56b61facee9d67d89569fc9be0e6cc2a661bf1dd1a7
|
data/.travis.yml
CHANGED
data/CHANGES
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
= 0.3.1 - 14-Jul-2016
|
2
|
+
* Now uses the parallel gem and thread pools for those few methods where
|
3
|
+
we were using threaded methods internally in order to reduce errors
|
4
|
+
caused by too many requests.
|
5
|
+
* Updated the rest-client dependency to 2.0.0 now that it has been released.
|
6
|
+
* Updated travis.yml to only test 2.2.5 and 2.3.1 for now. Partly due to a
|
7
|
+
change in the activesupport gem.
|
8
|
+
* One rspec fix for 2.3.x.
|
9
|
+
|
1
10
|
= 0.3.0 - 28-Jun-2016
|
2
11
|
* The configuration handling has been moved into its own class called
|
3
12
|
Azure::Armrest::Configuration. You can call this explicitly using :new,
|
data/azure-armrest.gemspec
CHANGED
@@ -20,12 +20,13 @@ behind the scenes.
|
|
20
20
|
EOF
|
21
21
|
|
22
22
|
spec.add_dependency 'json'
|
23
|
-
spec.add_dependency 'rest-client', '~> 2.0.0
|
23
|
+
spec.add_dependency 'rest-client', '~> 2.0.0'
|
24
24
|
spec.add_dependency 'cache_method', '~> 0.2.7'
|
25
25
|
spec.add_dependency 'azure-signature', '~> 0.2.0'
|
26
26
|
spec.add_dependency 'activesupport', '>= 1.2.0'
|
27
27
|
spec.add_dependency 'nokogiri', '~> 1.6.0'
|
28
28
|
spec.add_dependency 'addressable', '~> 2.4.0'
|
29
|
+
spec.add_dependency 'parallel', '~> 1.9.0'
|
29
30
|
|
30
31
|
spec.add_development_dependency 'bundler'
|
31
32
|
spec.add_development_dependency 'rake'
|
data/lib/azure/armrest.rb
CHANGED
@@ -215,14 +215,12 @@ module Azure
|
|
215
215
|
def all_blobs(key = nil)
|
216
216
|
key ||= properties.key1
|
217
217
|
array = []
|
218
|
-
|
218
|
+
mutex = Mutex.new
|
219
219
|
|
220
|
-
containers(key)
|
221
|
-
|
220
|
+
Parallel.each(containers(key), :in_threads => 10) do |container|
|
221
|
+
mutex.synchronize { array << blobs(container.name, key) }
|
222
222
|
end
|
223
223
|
|
224
|
-
threads.each(&:join)
|
225
|
-
|
226
224
|
array.flatten
|
227
225
|
end
|
228
226
|
|
@@ -75,23 +75,20 @@ module Azure
|
|
75
75
|
@model_class ||= Object.const_get(self.class.to_s.sub(/Service$/, ''))
|
76
76
|
end
|
77
77
|
|
78
|
-
# Aggregate resources from
|
79
|
-
#
|
78
|
+
# Aggregate resources from all resource groups.
|
79
|
+
#
|
80
|
+
# To be used in the cases where the API does not support list_all with one call.
|
81
|
+
#
|
80
82
|
def list_in_all_groups
|
81
83
|
array = []
|
82
|
-
threads = []
|
83
84
|
mutex = Mutex.new
|
84
85
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
mutex.synchronize { array << results } unless results.blank?
|
90
|
-
end
|
86
|
+
Parallel.each(list_resource_groups, :in_threads => 10) do |rg|
|
87
|
+
response = rest_get(build_url(rg.name))
|
88
|
+
results = JSON.parse(response)['value'].map { |hash| model_class.new(hash) }
|
89
|
+
mutex.synchronize { array << results } unless results.blank?
|
91
90
|
end
|
92
91
|
|
93
|
-
threads.each(&:join)
|
94
|
-
|
95
92
|
array.flatten
|
96
93
|
end
|
97
94
|
end
|
@@ -246,30 +246,25 @@ module Azure
|
|
246
246
|
#
|
247
247
|
def get_private_images(storage_accounts)
|
248
248
|
results = []
|
249
|
-
threads = []
|
250
249
|
mutex = Mutex.new
|
251
250
|
|
252
|
-
|
253
|
-
|
254
|
-
key = get_account_key(storage_account)
|
251
|
+
Parallel.each(storage_accounts, :in_threads => 10) do |storage_account|
|
252
|
+
key = get_account_key(storage_account)
|
255
253
|
|
256
|
-
|
257
|
-
|
258
|
-
|
254
|
+
storage_account.all_blobs(key).each do |blob|
|
255
|
+
next unless File.extname(blob.name).casecmp('.vhd') == 0
|
256
|
+
next unless blob.properties.lease_state.casecmp('available') == 0
|
259
257
|
|
260
|
-
|
261
|
-
|
262
|
-
|
258
|
+
blob_properties = storage_account.blob_properties(blob.container, blob.name, key)
|
259
|
+
next unless blob_properties.respond_to?(:x_ms_meta_microsoftazurecompute_osstate)
|
260
|
+
next unless blob_properties.x_ms_meta_microsoftazurecompute_osstate.casecmp('generalized') == 0
|
263
261
|
|
264
|
-
|
265
|
-
|
266
|
-
end
|
262
|
+
mutex.synchronize do
|
263
|
+
results << blob_to_private_image_object(storage_account, blob, blob_properties)
|
267
264
|
end
|
268
265
|
end
|
269
266
|
end
|
270
267
|
|
271
|
-
threads.each(&:join)
|
272
|
-
|
273
268
|
results
|
274
269
|
end
|
275
270
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: azure-armrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-07-14 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: json
|
@@ -33,14 +33,14 @@ dependencies:
|
|
33
33
|
requirements:
|
34
34
|
- - "~>"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 2.0.0
|
36
|
+
version: 2.0.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 2.0.0
|
43
|
+
version: 2.0.0
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: cache_method
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,6 +111,20 @@ dependencies:
|
|
111
111
|
- - "~>"
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 2.4.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: parallel
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 1.9.0
|
121
|
+
type: :runtime
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 1.9.0
|
114
128
|
- !ruby/object:Gem::Dependency
|
115
129
|
name: bundler
|
116
130
|
requirement: !ruby/object:Gem::Requirement
|