Parallelize WEBRUNNER node provisioning
All Linode creates fire simultaneously via async/poll:0 loop instead of serial include_tasks. One shared root pass + SSH key generated before the loop eliminates per-node credential races. async_status collects all create confirmations before add_host. Play 2 runs with strategy:free and -f 50 so all nodes configure, scan, and collect results concurrently. Per-node serial provision file retired — logic is now inline.
This commit is contained in:
@@ -164,6 +164,10 @@ def execute_playbook(playbook, config):
|
||||
'--extra-vars', create_extra_vars(config)
|
||||
]
|
||||
|
||||
# Webrunner runs many nodes in parallel — increase fork count
|
||||
if 'webrunner' in playbook:
|
||||
cmd += ['-f', '50']
|
||||
|
||||
# Write sensitive vars to a temp file (0o600) so they reach Ansible as
|
||||
# variables without appearing in process listings or the main extra-vars JSON.
|
||||
# Read from environment (set by set_provider_environment) so this works even
|
||||
|
||||
Reference in New Issue
Block a user