fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Jumping between roles


From: Jeff Forcier
Subject: Re: [Fab-user] Jumping between roles
Date: Thu, 5 May 2011 10:11:50 -0700

Hi Corry,

For background, see the execution docs here:

    http://docs.fabfile.org/en/1.0.1/usage/execution.html

and the "library" usage docs here:

    http://docs.fabfile.org/en/1.0.1/usage/library.html

The gist is that the decorators are only detected by the 'fab' tool
and thus only apply to tasks specified on the command line. Calls to
subtasks are just plain old Python function calls and don't do any
magic regarding the current connection host.

As mentioned in the library usage docs, you can work around this by
updating env.host_string (typically via "with settings():") when
calling your subtasks.

This will become less of a hassle in future versions.

Thanks,
Jeff

On Thu, May 5, 2011 at 9:30 AM, Corry Haines <address@hidden> wrote:
> After trying out a few (failed) iterations, it seems that I should ask the
> mailing list if this is even possible.
> In short, I would like to have functions call other functions, and when the
> new function starts, it is applied to distinct roles. An example follows:
> @roles("a")
> def entry_function():
>     # Run some code specific to role a
>     second_function()
>     # More role a specific code
> @roles("b")
> def second_function():
>     # Run some code specific to role b
> When I try this, it seems that there is a "First Wins" behavior, and role
> "a" is used for second_function. This happens regardless of the roles
> specified on the command line.
> Is it possible for the command line to specify a list of roles, and have
> some of the internal functions operate on a distinct set of roles? A use
> case is a deployment function (the entry function) that needs to update the
> RPM repo before running anything else.
> Thanks,
> Corry
> _______________________________________________
> Fab-user mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fab-user
>
>



-- 
Jeff Forcier
Unix sysadmin; Python/Ruby engineer
http://bitprophet.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]