Stephen Barrett
2017-11-09 20:00:24 UTC
Hello,
I'm looking to update a package that uses fabric to interact with a bunch of windows slaves (Cygwin sshd) to do things in parallel. Unfortunately I can't work out how to have fabric use a different env.user for each host, because sadly the hosts require <machinename>+<username> as their login credentials.
For example how would I update this code to run things in parallel for each host?
deployables = init_deployables(release)
# API kill first
hosts = set([options['host'] for options in deployables.values()])
api_killed = False
for host in hosts:
env.user = "{}+autobot".format(host.upper())
api_killed = execute(apikill_apps, host=host)[host] or api_killed
if api_killed:
print "Sleeping 20 seconds to let apps shutdown before attempting to task kill remainders"
sleep(20)
# Cleanup everything remaining with taskkill
for host in hosts:
env.user = "{}+autobot".format(host.upper())
execute(taskkill_apps, host=host)
Thanks!
Stephen Barrett
I'm looking to update a package that uses fabric to interact with a bunch of windows slaves (Cygwin sshd) to do things in parallel. Unfortunately I can't work out how to have fabric use a different env.user for each host, because sadly the hosts require <machinename>+<username> as their login credentials.
For example how would I update this code to run things in parallel for each host?
deployables = init_deployables(release)
# API kill first
hosts = set([options['host'] for options in deployables.values()])
api_killed = False
for host in hosts:
env.user = "{}+autobot".format(host.upper())
api_killed = execute(apikill_apps, host=host)[host] or api_killed
if api_killed:
print "Sleeping 20 seconds to let apps shutdown before attempting to task kill remainders"
sleep(20)
# Cleanup everything remaining with taskkill
for host in hosts:
env.user = "{}+autobot".format(host.upper())
execute(taskkill_apps, host=host)
Thanks!
Stephen Barrett