ruby_aem 1.3.3 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/conf/spec.yaml +9 -0
- data/lib/ruby_aem/client.rb +1 -1
- data/lib/ruby_aem/handlers/json.rb +2 -2
- data/lib/ruby_aem/resources/aem.rb +50 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c092ee28f6083d9e3d033e1b56f52bd949606db3
|
4
|
+
data.tar.gz: 3c4441408e7b1fe71005c9d4467ee187448eb8a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1befff3fd95f9fa2c7ede3907b75bd8a58ae46ba6544d452afe44247876ef390ce77571de647affc367b6ba5fd195fcbe8ec2025d150c130040e9387eeb59240
|
7
|
+
data.tar.gz: df25f0909f4e50af2b6667f793b7d28ab50f5a84af0be8cfcc952c97c8e550d2b26ce994ae97e2fce66b4663ba4b33d64957ce57a02bcdd61998c2663a883ae3
|
data/conf/spec.yaml
CHANGED
@@ -31,6 +31,15 @@ aem:
|
|
31
31
|
200:
|
32
32
|
handler: json_agents
|
33
33
|
message: 'Retrieved agents on %{run_mode}'
|
34
|
+
get_install_status:
|
35
|
+
api: crx
|
36
|
+
operation: getInstallStatus
|
37
|
+
params:
|
38
|
+
required:
|
39
|
+
responses:
|
40
|
+
200:
|
41
|
+
handler: simple
|
42
|
+
message: 'Install status retrieved successfully'
|
34
43
|
bundle:
|
35
44
|
responses:
|
36
45
|
404:
|
data/lib/ruby_aem/client.rb
CHANGED
@@ -66,7 +66,7 @@ module RubyAem
|
|
66
66
|
json = JSON.parse(response.body)
|
67
67
|
|
68
68
|
filter = []
|
69
|
-
json.
|
69
|
+
json.each_key do |key|
|
70
70
|
filter.push(json[key]['root']) unless json[key]['root'].nil?
|
71
71
|
end
|
72
72
|
|
@@ -103,7 +103,7 @@ module RubyAem
|
|
103
103
|
json = JSON.parse(response.body)
|
104
104
|
|
105
105
|
agent_names = []
|
106
|
-
json.
|
106
|
+
json.each_key do |key|
|
107
107
|
if (!key.start_with? 'jcr:') && (!key.start_with? 'rep:')
|
108
108
|
agent_names.push(key)
|
109
109
|
end
|
@@ -148,6 +148,56 @@ module RubyAem
|
|
148
148
|
@call_params[:run_mode] = run_mode
|
149
149
|
@client.call(self.class, __callee__.to_s, @call_params)
|
150
150
|
end
|
151
|
+
|
152
|
+
# Retrieve AEM install status.
|
153
|
+
#
|
154
|
+
# @return RubyAem::Result
|
155
|
+
def get_install_status
|
156
|
+
@client.call(self.class, __callee__.to_s, @call_params)
|
157
|
+
end
|
158
|
+
|
159
|
+
# Retrieve AEM install status with retries until its status is finished
|
160
|
+
#
|
161
|
+
# @param opts optional parameters:
|
162
|
+
# - _retries: retries library's options (http://www.rubydoc.info/gems/retries/0.0.5#Usage), restricted to max_trie, base_sleep_seconds, max_sleep_seconds
|
163
|
+
# @return RubyAem::Result
|
164
|
+
def get_install_status_wait_until_finished(
|
165
|
+
opts = {
|
166
|
+
_retries: {
|
167
|
+
max_tries: 30,
|
168
|
+
base_sleep_seconds: 2,
|
169
|
+
max_sleep_seconds: 2
|
170
|
+
}
|
171
|
+
}
|
172
|
+
)
|
173
|
+
opts[:_retries] ||= {}
|
174
|
+
opts[:_retries][:max_tries] ||= 30
|
175
|
+
opts[:_retries][:base_sleep_seconds] ||= 2
|
176
|
+
opts[:_retries][:max_sleep_seconds] ||= 2
|
177
|
+
|
178
|
+
# ensure integer retries setting (Puppet 3 passes numeric string)
|
179
|
+
opts[:_retries][:max_tries] = opts[:_retries][:max_tries].to_i
|
180
|
+
opts[:_retries][:base_sleep_seconds] = opts[:_retries][:base_sleep_seconds].to_i
|
181
|
+
opts[:_retries][:max_sleep_seconds] = opts[:_retries][:max_sleep_seconds].to_i
|
182
|
+
|
183
|
+
result = nil
|
184
|
+
with_retries(max_tries: opts[:_retries][:max_tries], base_sleep_seconds: opts[:_retries][:base_sleep_seconds], max_sleep_seconds: opts[:_retries][:max_sleep_seconds]) { |retries_count|
|
185
|
+
begin
|
186
|
+
result = get_install_status
|
187
|
+
item_count = result.response.body.status.item_count
|
188
|
+
if result.response.body.status.finished == true && item_count.zero?
|
189
|
+
puts format('Retrieve AEM install status attempt #%d: %s and finished', retries_count, result.message)
|
190
|
+
else
|
191
|
+
puts format('Retrieve AEM install status attempt #%d: %s but not finished yet, still installing %d package(s)', retries_count, result.message, item_count)
|
192
|
+
raise StandardError.new(result.message)
|
193
|
+
end
|
194
|
+
rescue RubyAem::Error => err
|
195
|
+
puts format('Retrieve AEM install status attempt #%d: %s', retries_count, err.message)
|
196
|
+
raise StandardError.new(err.message)
|
197
|
+
end
|
198
|
+
}
|
199
|
+
result
|
200
|
+
end
|
151
201
|
end
|
152
202
|
end
|
153
203
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_aem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shine Solutions
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -51,14 +51,14 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.2.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.2.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rspec
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|