On 08/07/2013, at 11:02 PM, Michael H. Warfield <m...@wittsend.com> wrote:

> On Mon, 2013-07-08 at 18:27 +1000, Christoph Willing wrote: 
>> On 05/07/2013, at 9:53 PM, Serge Hallyn <serge.hal...@ubuntu.com> wrote:
>> 
>>> Quoting Christoph Willing (cwill...@users.sourceforge.net):
>>>> Since upgrading from lxc-0.7.5 to 0.9.0 I have a problem with lxc-wait.
>>>> 
>>>> Previously, scripts containing an lxc-wait for the STOPPED state would 
>>>> continue as expected when the nominated container shut itself down i.e. 
>>>> the script received the STOPPED state and lxc-wait exits. However with 
>>>> 0.9.0, lxc-wait doesn't seem to receive the STOPPED state when the 
>>>> container shuts itself down  - the scripts just keep waiting. I can run 
>>>> lxc-stop manually, whereupon the waiting script then sees that the 
>>>> container gets the message and continues as before.
>>>> 
>>>> On the other hand, the same scripts see the RUNNING state of a newly 
>>>> started container and continue execution as before.
>>>> 
>>>> So although lxc-wait is working (receives states sent explicitly via 
>>>> lxc-start/stop), it no longer receives any indication from the container 
>>>> that is is shutting down.
>>>> 
>>>> Is this new behaviour expected in 0.9.0?
>>> 
>>> No it sounds unexpected.  Would you be able to code the above into a
>>> little test script to reproduce?  (something like
>>> 
>>>     sudo lxc-create -t ubuntu -n x1
>>>     sudo lxc-start -n x1 -d
>>>     sudo nohup lxc-wait -s STOPPED -n x1 > /tmp/outout 2>&1 &
>>>     pid=$!
>>>     sudo lxc-sttach -n x1 -- poweroff
>>>     tail /tmp/outout
>>>     ps -p $pid && echo "lxc-wait still running - FAIL"
>>>     ps -p $pid || echo "lxc-wait exited - PASS"
>>> 
>>> )
>>> 
>>> Also please tell us which distro+release you're on and the exact package
>>> or upstream git version (there have been very recent changes...)  Is
>>> lxc-wait a script or a program in yours?  (which lxc-wait;  file `which 
>>> lxc-wait`)
>> 
>> I found & fixed the problem but, for interest, the affected distro is 
>> Slackware "current" (the next release), using package lxc-0.9.0-x86_64-1 
>> from which lxc-wait is a program:
>> 
>> chris@current:~$ which lxc-wait;  file `which lxc-wait`
>> /usr/bin/lxc-wait
>> /usr/bin/lxc-wait: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), 
>> dynamically linked (uses shared libs), stripped
>> 
>> 
>> Since there is no distributed lxc-slackware template, I've made my own
>> which I install locally. I've been using the same basic template for
>> about the last 3 Slackware releases and have had no problems. Part of
>> the the template's execution involves patching some of Slackware's
>> default rc.d scripts for use in the container. For some reason, the
>> patching removes the reboot/poweroff calls in rc.6 (the shutdown
>> script). I don't recall now why that was done - whether it was
>> mistaken or intentional - yet everything had all worked as expected
>> until now. Anyway, assuming it was a mistake and so changing my
>> template to leave the reboot/poweroff calls intact has fixed the
>> problem - lxc-wait receives the STOPPED state again.
> 
> Historically, removing the calls to "reboot/poweroff" were done, at the
> very least, to circumvent the "read-only" remounts of mounted file
> systems in the host.  We've been plagued by that problem on and off
> again for some time and never really nailed it.  I think the latest
> fixes for dealing with systemd based systems is ultimately incompatible
> with some of the host workarounds (bind mounts) which some of use were
> using to avoid that problem as well.  There may have been other reasons
> but that was, most emphatically, one of them.

Thanks for jogging my memory Mike.

I do now remember the problem of read-only remounts and it explains why I would 
have removed the reboot/shutdown calls. Now that I need them back in, I'd 
better check my containers & scripts for a return of those bad behaviours - 
although I didn't notice any of them while troubleshooting my absence of 
STOPPED state problem, so fingers crossed ..

chris



------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users

Reply via email to