smart_proxy_ansible 3.5.3 → 3.5.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a6565b96c81502c1db79c10db9199cf3bb537fd03ed4ba1e9382bb8ca8dc2ad
|
4
|
+
data.tar.gz: c4859eac213669d85ec3a2e0bb23ca137c2d91ac947c3496252f2f0de6e7089c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ccf99444a7c7cb1cd7bca0be70e27d6402b25ac52f26a6f96103b5f3b3621bc456a911c88c65cc472c6fdf37f3330394fcc3e2e77177b0a4c02e5a5b1137a21
|
7
|
+
data.tar.gz: f099953775bb621e2219a63ac76c20d1794f6bfbf3b83241e3b5fb33d43e138d90e8f52e3a6024a9cf303cd44b6627b79f92c24a0983414a4da07ec92c7f0b5e
|
@@ -143,13 +143,14 @@ module Proxy::Ansible
|
|
143
143
|
if event['event'] == 'playbook_on_stats'
|
144
144
|
failures = event.dig('event_data', 'failures') || {}
|
145
145
|
unreachable = event.dig('event_data', 'dark') || {}
|
146
|
+
rescued = event.dig('event_data', 'rescued') || {}
|
146
147
|
header, *rows = event['stdout'].strip.lines.map(&:chomp)
|
147
148
|
@outputs.keys.select { |key| key.is_a? String }.each do |host|
|
148
149
|
line = rows.find { |row| row =~ /#{host}/ }
|
149
150
|
publish_data_for(host, [header, line].join("\n"), 'stdout')
|
150
151
|
|
151
152
|
# If the task has been rescued, it won't consider a failure
|
152
|
-
if @exit_statuses[host].to_i != 0 && failures[host].to_i <= 0 && unreachable[host].to_i <= 0
|
153
|
+
if @exit_statuses[host].to_i != 0 && failures[host].to_i <= 0 && unreachable[host].to_i <= 0 && rescued[host].to_i > 0
|
153
154
|
publish_exit_status_for(host, 0)
|
154
155
|
end
|
155
156
|
end
|
@@ -166,15 +167,10 @@ module Proxy::Ansible
|
|
166
167
|
end
|
167
168
|
|
168
169
|
def write_inventory
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
cat #{::Shellwords.escape data_path}
|
174
|
-
INVENTORY_SCRIPT
|
175
|
-
File.write(path, inventory_script)
|
176
|
-
File.write(data_path, JSON.dump(@inventory))
|
177
|
-
File.chmod(0o0755, path)
|
170
|
+
File.open(File.join(@root, 'inventory', 'hosts.json'), 'w') do |file|
|
171
|
+
file.chmod(0o0640)
|
172
|
+
file.write(JSON.dump(@inventory))
|
173
|
+
end
|
178
174
|
end
|
179
175
|
|
180
176
|
def write_playbook
|
@@ -251,7 +247,6 @@ module Proxy::Ansible
|
|
251
247
|
# containing all the hosts.
|
252
248
|
def rebuild_inventory(input)
|
253
249
|
action_inputs = input.values.map { |hash| hash[:input][:action_input] }
|
254
|
-
hostnames = action_inputs.map { |hash| hash[:name] }
|
255
250
|
inventories = action_inputs.map { |hash| hash[:ansible_inventory] }
|
256
251
|
host_vars = inventories.map { |i| i['_meta']['hostvars'] }.reduce({}) do |acc, hosts|
|
257
252
|
hosts.reduce(acc) do |inner_acc, (hostname, vars)|
|
@@ -260,8 +255,7 @@ module Proxy::Ansible
|
|
260
255
|
end
|
261
256
|
end
|
262
257
|
|
263
|
-
{ '
|
264
|
-
'all' => { 'hosts' => hostnames,
|
258
|
+
{ 'all' => { 'hosts' => host_vars,
|
265
259
|
'vars' => inventories.first['all']['vars'] } }
|
266
260
|
end
|
267
261
|
|
@@ -285,7 +279,7 @@ module Proxy::Ansible
|
|
285
279
|
'ansible_password' => inventory['ssh_password'] || per_host['ansible_password'],
|
286
280
|
'ansible_become_password' => inventory['effective_user_password'] || per_host['ansible_become_password']
|
287
281
|
}
|
288
|
-
inventory['
|
282
|
+
inventory['all']['hosts'][host].update(new_secrets)
|
289
283
|
end
|
290
284
|
|
291
285
|
inventory
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_proxy_ansible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.
|
4
|
+
version: 3.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-05-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|