ruby_aem 1.0.15 → 1.0.16
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/conf/spec.yaml +28 -0
- data/lib/ruby_aem/handlers/json.rb +20 -2
- data/lib/ruby_aem/resources/aem.rb +64 -1
- data/lib/ruby_aem/swagger.rb +2 -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: e935c237f64320aeb8ddb56917048a6e417f9d9a
|
4
|
+
data.tar.gz: 7f91161aa63f00432bea5fc1b477ae2a0aef9fdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 106576e2b45a2364251f0dc22772ca086fa70c238ef5ebae9fcc3cc145ac08b638f83f63a54546b6cb2df7efcafc9ad16f9b648ec89fee43526e9e3c6694611c
|
7
|
+
data.tar.gz: 7ec45d83ea8e7513fa53f88080f6e1f22fd8e8b301eb04df10c85f8967033a6d7a1acb725069b7d8c7b697c2d257c5f5b5e341ee9bff7f18db53e8d5ca7839fb
|
data/conf/spec.yaml
CHANGED
@@ -9,6 +9,18 @@ aem:
|
|
9
9
|
200:
|
10
10
|
handler: simple
|
11
11
|
message: 'Login page retrieved'
|
12
|
+
get_aem_health_check:
|
13
|
+
api: custom
|
14
|
+
operation: getAemHealthCheck
|
15
|
+
params:
|
16
|
+
required:
|
17
|
+
optional:
|
18
|
+
tags: '%{tags}'
|
19
|
+
combinetagsor: '%{combine_tags_or}'
|
20
|
+
responses:
|
21
|
+
200:
|
22
|
+
handler: json_aem_health_check
|
23
|
+
message: 'AEM health check retrieved'
|
12
24
|
bundle:
|
13
25
|
responses:
|
14
26
|
404:
|
@@ -498,6 +510,22 @@ configproperty:
|
|
498
510
|
201:
|
499
511
|
handler: simple
|
500
512
|
message: 'Set %{run_mode} %{config_node_name} config %{type} property %{name}=%{value}'
|
513
|
+
createaemhealthcheckservlet:
|
514
|
+
api: custom
|
515
|
+
operation: postConfigAemHealthCheckServlet
|
516
|
+
params:
|
517
|
+
required:
|
518
|
+
runmode: '%{run_mode}'
|
519
|
+
optional:
|
520
|
+
- bundles_ignored
|
521
|
+
- bundles_ignored_type_hint
|
522
|
+
responses:
|
523
|
+
200:
|
524
|
+
handler: simple
|
525
|
+
message: 'Set %{run_mode} %{config_node_name} config %{type} property %{name}=%{value}'
|
526
|
+
201:
|
527
|
+
handler: simple
|
528
|
+
message: 'Set %{run_mode} %{config_node_name} config %{type} property %{name}=%{value}'
|
501
529
|
replicationagent:
|
502
530
|
responses:
|
503
531
|
404:
|
@@ -48,7 +48,7 @@ module RubyAem
|
|
48
48
|
#
|
49
49
|
# @param response HTTP response containing status_code, body, and headers
|
50
50
|
# @param response_spec response specification as configured in conf/spec.yaml
|
51
|
-
# @param call_params additional
|
51
|
+
# @param call_params additional call_params information
|
52
52
|
# @return RubyAem::Result
|
53
53
|
def Handlers.json_package_service(response, response_spec, call_params)
|
54
54
|
|
@@ -68,7 +68,7 @@ module RubyAem
|
|
68
68
|
#
|
69
69
|
# @param response HTTP response containing status_code, body, and headers
|
70
70
|
# @param response_spec response specification as configured in conf/spec.yaml
|
71
|
-
# @param call_params additional
|
71
|
+
# @param call_params additional call_params information
|
72
72
|
# @return RubyAem::Result
|
73
73
|
def Handlers.json_package_filter(response, response_spec, call_params)
|
74
74
|
|
@@ -89,5 +89,23 @@ module RubyAem
|
|
89
89
|
|
90
90
|
end
|
91
91
|
|
92
|
+
# Handle AEM Health Check Servlet JSON payload.
|
93
|
+
#
|
94
|
+
# @param response HTTP response containing status_code, body, and headers
|
95
|
+
# @param response_spec response specification as configured in conf/spec.yaml
|
96
|
+
# @param call_params additional call_params information
|
97
|
+
# @return RubyAem::Result
|
98
|
+
def Handlers.json_aem_health_check(response, response_spec, call_params)
|
99
|
+
|
100
|
+
json = JSON.parse(response.body)
|
101
|
+
|
102
|
+
message = response_spec['message'] % call_params
|
103
|
+
|
104
|
+
result = RubyAem::Result.new(message, response)
|
105
|
+
result.data = json['results']
|
106
|
+
result
|
107
|
+
|
108
|
+
end
|
109
|
+
|
92
110
|
end
|
93
111
|
end
|
@@ -39,8 +39,23 @@ module RubyAem
|
|
39
39
|
@client.call(self.class, __callee__.to_s, @call_params)
|
40
40
|
end
|
41
41
|
|
42
|
+
# Retrieve AEM Health Check.
|
43
|
+
# This is a custom API and requires
|
44
|
+
# https://github.com/shinesolutions/aem-healthcheck
|
45
|
+
# to be installed.
|
46
|
+
#
|
47
|
+
# @param tags comma separated tags
|
48
|
+
# @param combine_tags_or
|
49
|
+
# @return RubyAem::Result
|
50
|
+
def get_aem_health_check(tags, combine_tags_or)
|
51
|
+
|
52
|
+
@call_params[:tags] = tags
|
53
|
+
@call_params[:combine_tags_or] = combine_tags_or
|
54
|
+
|
55
|
+
@client.call(self.class, __callee__.to_s, @call_params)
|
56
|
+
end
|
57
|
+
|
42
58
|
# Retrieve AEM login page with retries until it is successful.
|
43
|
-
# This is handy for waiting for AEM to start or restart Jetty.
|
44
59
|
#
|
45
60
|
# @param opts optional parameters:
|
46
61
|
# - _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
|
@@ -81,6 +96,54 @@ module RubyAem
|
|
81
96
|
result
|
82
97
|
end
|
83
98
|
|
99
|
+
# Retrieve AEM health check with retries until its status is OK.
|
100
|
+
#
|
101
|
+
# @param opts optional parameters:
|
102
|
+
# - _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
|
103
|
+
# @return RubyAem::Result
|
104
|
+
def get_aem_health_check_wait_until_ok(tags, combine_tags_or,
|
105
|
+
opts = {
|
106
|
+
_retries: {
|
107
|
+
max_tries: 30,
|
108
|
+
base_sleep_seconds: 2,
|
109
|
+
max_sleep_seconds: 2
|
110
|
+
}
|
111
|
+
})
|
112
|
+
opts[:_retries] ||= {}
|
113
|
+
opts[:_retries][:max_tries] ||= 30
|
114
|
+
opts[:_retries][:base_sleep_seconds] ||= 2
|
115
|
+
opts[:_retries][:max_sleep_seconds] ||= 2
|
116
|
+
|
117
|
+
# ensure integer retries setting (Puppet 3 passes numeric string)
|
118
|
+
opts[:_retries][:max_tries] = opts[:_retries][:max_tries].to_i
|
119
|
+
opts[:_retries][:base_sleep_seconds] = opts[:_retries][:base_sleep_seconds].to_i
|
120
|
+
opts[:_retries][:max_sleep_seconds] = opts[:_retries][:max_sleep_seconds].to_i
|
121
|
+
|
122
|
+
result = nil
|
123
|
+
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|
|
124
|
+
begin
|
125
|
+
result = get_aem_health_check(tags, combine_tags_or)
|
126
|
+
is_ok = true;
|
127
|
+
result.data.each { |check|
|
128
|
+
if check['status'] != 'OK'
|
129
|
+
is_ok = false
|
130
|
+
break
|
131
|
+
end
|
132
|
+
}
|
133
|
+
if is_ok == false
|
134
|
+
puts 'Retrieve AEM Health Check attempt #%d: %s but not ok yet' % [retries_count, result.message]
|
135
|
+
raise StandardError.new(result.message)
|
136
|
+
else
|
137
|
+
puts 'Retrieve AEM Health Check attempt #%d: %s and ok' % [retries_count, result.message]
|
138
|
+
end
|
139
|
+
rescue RubyAem::Error => err
|
140
|
+
puts 'Retrieve AEM Health Check attempt #%d: %s' % [retries_count, err.message]
|
141
|
+
raise StandardError.new(err.message)
|
142
|
+
end
|
143
|
+
}
|
144
|
+
result
|
145
|
+
end
|
146
|
+
|
84
147
|
end
|
85
148
|
end
|
86
149
|
end
|
data/lib/ruby_aem/swagger.rb
CHANGED
@@ -64,6 +64,8 @@ module RubyAem
|
|
64
64
|
'Apache Sling DavEx Servlet'
|
65
65
|
when 'com.shinesolutions.aem.passwordreset.Activator'
|
66
66
|
'AEM Password Reset Activator'
|
67
|
+
when 'com.shinesolutions.healthcheck.hc.impl.ActiveBundleHealthCheck'
|
68
|
+
'AEM Health Check Servlet'
|
67
69
|
else
|
68
70
|
nil
|
69
71
|
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.0.
|
4
|
+
version: 1.0.16
|
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-04-
|
12
|
+
date: 2017-04-11 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: 0.9.
|
54
|
+
version: 0.9.12
|
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: 0.9.
|
61
|
+
version: 0.9.12
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rspec
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|