On Sun, 15 Feb 2009 11:13:23 am you wrote:
On Sat, Feb 14, 2009 at 6:59 PM, Richard Jones rjo...@ekit-inc.com wrote:
Actually, no, it's for remote system deployment where we need to perform
operations on the remote end that currently require us to copy a script
to that system and execute it (which is your proposed workaround).
Can you give a concrete example, then? I can't think of anything
offhand that Fabric cannot currently do along those lines; it can
execute any remote shell command (normally and via sudo), local shell
commands, put/get files, and is capable of obtaining the output of the
remote commands and performing logic based on those results.
Yes, you're pretty much just repeating what I referred to as your proposed
workaround :)
I'd like to be able to do stuff like:
Debug(WARN, STOPPING SERVER: %s:%s%(ihost, ihome))
killcmds = []
try:
z2pids = open('%s/var/ZEO_SERVER-starting.pid'%ihome).read()
except:
try:
z2pids = open('%s/var/ZEO_SERVER.pid'%ihome).read()
except:
Debug(INFO, no pid file - not running?)
z2pids = None
if z2pids:
z2pids = z2pids.split()
z2pids = filter(lambda x:x!='1', z2pids) # don't kill init :)
z2pids = ' '.join(z2pids)
killcmds.append('-kill -TERM %s 2/dev/null'%z2pids)
if killcmds:
do_commands('stop_server', ihost, killcmds)
without having to write that as a script on the remote end. Currently we do it
that way, and it just feels inelegant :)
I think I can comfortably say the developer response to my proposal is a solid
YAGNI, so I'll move on :)
Richard
___
Fab-user mailing list
Fab-user@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fab-user