fab-user
[Top][All Lists]
Advanced

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

Re: [Fab-user] Beta 1 out


From: Niklas Lindström
Subject: Re: [Fab-user] Beta 1 out
Date: Sat, 25 Jul 2009 14:47:05 +0200

Hi,

Sorry for the late reply.

2009/7/12 Jeff Forcier <address@hidden>:
> 2009/7/10 Niklas Lindström <address@hidden>:
>
>> Will this: "Updating e989277..dc65d87" give you a clue of when this
>> behaviour changed? (I should help you dig if you can't reproduce this,
>> if I get/take the time..)
>
> Yes, that helps significantly! I'm afraid the commit that probably
> broke this for you is 7e7fd8a6bd75cc46c857b77954e297d2bb685c93 ("Fix
> race condition in run/sudo"). Can you do me a big favor and confirm
> that your code worked before this commit, and breaks after it?

You are indeed correct, revision
7e7fd8a6bd75cc46c857b77954e297d2bb685c93 (re-)introduced this bug.

I took a look in "/etc/init.d/tomcat6" (on Ubuntu). The part causing
the stall is when starting the daemon (using "/usr/bin/jsvc"). It
doesn't seem to be related to the duration of the restart. (I have not
been able to reproduce the freeze by restarting apache nor using
Python Paste:s daemon mode.)

> I was afraid that changing the main IO loop would introduce other bugs
> while fixing the one mentioned in the commit, and it looks like you
> may be running into that. Won't know till you confirm it, and then we
> need to figure out what's different in your situation and the one Evan
> ran into (and which I was able to confirm.)

What can I do to test this further? As you say, we should look for a
way to reproduce and fix both situations.

> This is why I really want to overhaul that code to use something
> callback-based, if that's possible without moving away from Paramiko
> or adding some extra dependency like Twisted :( Thinking coroutines or
> something. Very sick of tweaking that damned while loop.

I understand; sounds reasonable.


> So, as with a number of other things, this needs sitting down and
> figuring out, and may change further when we address the
> possibly-even-hairier problem of parallel execution.
>
> By this I mean that I definitely want to make things more flexible
> than they are now (especially re: dependencies) but it's not something
> that can be easily done off the bat. I hope that I can work something
> out for 1.0, since that's not the sort of change that works well in a
> backwards compatible minor release like 1.1 :)

I see the problem. I'll get back if I come up with anything.


>> (It would also be kinda cool if
>> @roles("*") or similar worked, but of course I can supply the (3)
>> roles I have explicitly.)
>
> This would be pretty easy to do, and again ties into something I have
> plans to extend -- host management. I've added a TODO item for this
> specific desire.

Great.


>> (That said, I still like the "test" solution a
>> bit, especially since you can base an "isdir" on that as well. But
>> that's just a suggestion. ;) )
>
> 'test' is definitely more flexible than using 'ls', and I totally hear
> you re: isdir/isfile/etc. It's a tool I hope to use more in the
> future. Most of the contrib stuff is "first draft" quality material
> and could definitely be smartened up some, in this manner :)

I'll see if I have something clean enough to put in my github clone
for inspiration. :)

Best regards,
Niklas




reply via email to

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