Hi Stephen,

I'd probably take advantage of the fact that host strings in fabric can
include the username using @ syntax: user@host

def deploy(release):
    deployables = init_deployables(release)
    # API kill first
    hosts = set(
        '{}+autobot@{}'.format(
            options['host'].upper(),
            options['host']
        ) for options in deployables.values()
    )
    kill_results = execute(apikill_apps, hosts=hosts)
    api_killed = any(kill_results.values())

    if api_killed:
        print "Sleeping 20 seconds to let apps shutdown before attempting
to task kill remainders"
        sleep(20)

    # Cleanup everything remaining with taskkill
    execute(taskkill_apps, hosts=hosts)



On Thu, Nov 9, 2017 at 5:50 PM Stephen Barrett <stephen.barr...@spacex.com>
wrote:

> 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
>
>
> _______________________________________________
> Fab-user mailing list
> Fab-user@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/fab-user
>
_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to