fab-user
[Top][All Lists]
Advanced

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

Re: [Fab-user] Best way of making proposals for Fabric?


From: Jeff Forcier
Subject: Re: [Fab-user] Best way of making proposals for Fabric?
Date: Wed, 2 Mar 2011 13:36:15 -0800

Rory and I have connected on IRC; the short story is that for #1,
ssh_config (and the planned support for it in Fabric) is probably
sufficient, #2 is being patched as we speak, and #3 is probably
another way of thinking about http://code.fabfile.org/issues/show/38
re: SSH gateways.

-Jeff

On Wed, Mar 2, 2011 at 11:41 AM, Rory Campbell-Lange
<address@hidden> wrote:
> Hi.
>
> I've been using Fabric for all of two days (part-time!), and I've
> already found it useful in production. Thanks for the great software --
> and I'm kicking myself that I didn't find it earlier.
>
> I have some rather naive observations as a first-time user which I would
> be grateful for some feedback on. I'm happy to work on them an provide
> patches but I thought it might be useful to list them here and discern
> if any of these issues are of interest to others, and also what the best
> way of contributing patches might be (I'm not used to working with
> Github or collaborating outside of a company).
>
> I'm happy to add these thoughts to Redmine but I thought I should ask
> about some of these issues in general terms first.
>
> 1. host aliases
>   I've got lots of hosts which are only resolvable by ip address
>   (indeed many will be referenced to 127.0.0.1:9001 or similar).
>   Because of this it would be very useful to have server aliasing, much
>   like the "Host" descriptor in .ssh/config
>
>   I'm thinking of
>   setting.hostalias = True
>   env.hosts = ['address@hidden:9000', 'address@hidden:9001', ...]
>   env.hostaliases = ['remhost1', 'remhost2']
>   if setting.hostalias:
>        # print env.hostalias by key rather than env.host
>
>   Doing this would be done more elegantly by making 'Hosts' and 'Host'
>   classes perhaps, rather than lists?
>
> 2. put file mode permissions
>   I stupidly didn't provide a number. I guess a number starting with 0
>   isn't really a number? Is a better error catcher better here?
>   In [8]: 0644 & 0700
>   Out[8]: 384
>   In [9]: '0644' & 0700
>   ---------------------------------------------------------------------------
>   TypeError                                 Traceback (most recent call
>   last)
>   /home/rory/<ipython console> in <module>()
>   TypeError: unsupported operand type(s) for &: 'str' and 'int'
>
> 3. setup and teardown
>   I have a situation where I have lots of hosts hidden behind a
>   gateway, so I have to connect to the gateway and then generate a lot
>   of port forwarding connections, one for each host.
>   As there doesn't appear to be a way of generating port forwarding
>   connections easily through Fabric (despite the promise of the port
>   forwarding patch in Paramiko mentioned here:
>   https://bugs.launchpad.net/paramiko/+bug/483697), I have to run an
>   ssh command to connect to the gateway and setup lots of portforwarded
>   connections to my localhost. I then read in a local ssh config file
>   designed to connect to 127.0.0.1:9001, 127.0.0.1:9002, etc.
>
>   Consequently it might be useful to have a "setup" and "teardown"
>   process that could help setup the environment required to run the
>   relevant fabfile, and similarly have a teardown to clean up the local
>   environment and namespace.
>
>   If hosts becomes a class Hosts composed of individual Host entities,
>   perhaps one could do setup() and teardown() on a Hosts basis.
>
>       datacentre1 = Hosts('ssh_config_dc1')
>       ...setting up datacentre1 environment...
>       datacentre2 = Hosts('ssh_config_dc2')
>       ...setting up datacentre2 environment...
>
>       hosts = datacentre1 | datacentre2 # set operations
>       for h in hosts:
>            # do something
>
>       ...tearing down datacentre2 environment...
>       ...tearing down datacentre1 environment...
>
> Sorry -- this is something of a ramble. Please let me know if there are
> any useful ideas in here.
>
> Rory
>
> _______________________________________________
> Fab-user mailing list
> address@hidden
> http://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]