smart_proxy_ansible 3.5.3 → 3.5.5
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
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
|