Thanks Brandon! This is very helpful.
On Thu, Dec 8, 2016 at 3:46 PM, Brandon Whaley <[email protected]> wrote:
> That functionality is not built in to fabric. Either have your task query
> for what param it should use based on the value of env.host_string or abuse
> host strings to pass the arguments like so:
>
> @parallel
> def task():
> #naturally requires that param not contain '_', use another non-valid
> host character if it needs to
> host_string, param = env.host_string.split('_')
> with settings(host_string=host_string):
> run("command with {}".format(param))
>
> def launcher():
> execute(task, hosts=['192.168.1.100_param1', '192.168.1.200_param2'])
>
> On Thu, Dec 8, 2016 at 6:05 PM Erikton Konomi <[email protected]> wrote:
>
>> Hello,
>>
>> How would you go about running multiple tasks on multiple hosts but with
>> different parameter for each host? For example a fabfile with:
>>
>> @parallel
>> def task(param):
>> run("some command that takes <param> as argument")
>>
>> def launcher():
>> execute(task, param_1, hosts=['192.168.1.100', '192.168.1.200'])
>> # The above will run the task on 2 hosts but with the same value for
>> <param>
>> # I would like to run both hosts but specifying different value for
>> <param> for each host, like:
>> # execute(task, args=[param_1, param_2], hosts=['192.168.1.100',
>> '192.168.1.200'])
>>
>> Is this functionality there? I couldn't find something on the documents.
>>
>> Thanks,
>> Erik
>>
>> _______________________________________________
>> Fab-user mailing list
>> [email protected]
>> https://lists.nongnu.org/mailman/listinfo/fab-user
>>
>
_______________________________________________
Fab-user mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/fab-user