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

Re: [Xen-devel] [Patch[ xl problems with xendomains

On Wed, May 22, 2013 at 10:53 AM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> On Tue, 2013-05-21 at 22:12 +0100, Ian Murray wrote:
>> Hi,
>> Ever since xl become the preferred toolstack, I have had problems using
>> the xendomains startup/shutdown script.  Having retested today, it seems
>> that the issues are now reduced down to xendomains being unable to
>> restart previously saved domains.
>> Here is a typical session using xl running Xen 4.2.2 on Ubuntu 64 12.04
>> bit server, using stock Dom0 kernel (3.2.0-43-generic)
>> root@xen6:/etc/init.d# service xendomains start
>> root@xen6:/etc/init.d# service xendomains stop
>> Shutting down Xen domains: *   [done]
>> root@xen6:/etc/init.d# xl create /etc/xen/vpn2
>> Parsing config from /etc/xen/vpn2
>> Daemon running with PID 3969
>> root@xen6:/etc/init.d# service xendomains start
>> root@xen6:/etc/init.d# service xendomains stop
>> Shutting down Xen domains: vpn2(save)....
>>   *   [done]
>> root@xen6:/etc/init.d# service xendomains start
>> Restoring Xen domains:/etc/init.d/xendomains: line 258: [: too many
>> arguments
>>   *   [done]
>> root@xen6:/# rm /var/lib/xen/save/vpn2
>> Line 258 reads as:-
>> -                if [ $HEADER = "LinuxGuestRecord" ]; then
>> There were further issues of xendomains not suspending domains properly
>> but this appear resolved now because I think the behaviour of xl list -l
>> has changed. AFAIR an extra 'domain' identifier was thrown in which was
>> causing issues with the regex parser.
>> Anyway, as far as I can tell, the two issues that I see are that the if
>> statement at line 258 borks because there are no quotes around the
>> $HEADER. I'll leave it to the Bash gurus to explain that; I am not one
>> and I just hacked it to work.
> $HEADER presumably includes spaces, because the xl save header does, and
> therefore requires quoting. This was also broken for xm because even
> though the xm save header has no spaces the point of this check is to
> look for corrupt/invalid save files, which may well have a space.
>> Secondly, it would appear that when using xl to save a running domain,
>> the header in the save file does not contain the text "LinuxGuestRecord"
>> but in fact contains "Xen saved domain". This causes xendomains to miss
>> the save files and will not try to restore them. Placing a simple
>> variable that contains the correct header text appears to fix this.
>> So applying the following patch to xendomains appears to ease these
>> issues. Please be aware that I haven't tested this on anything earlier
>> than 4.2.2 and hasn't been tested at all using xm, although the issues
>> with the regex would likely break xm rather than the change below.
>> Looking back at my original submission (2 years ago), I reported the
>> issues against 4.1.1. As previously stated this had more problems
>> because of differing output of xl list -l, which appears to be employed
>> by xendomains. I haven't thoroughly tested the patch against every
>> combination of domains sysreq'd, etc, but it appears to work for auto
>> start, save and restore.
> It looks correct to me.
>> Thanks for reading and I hope this makes sense,
>> Ian.
>> Signed-off-by: Ian MURRAY <murrayie@xxxxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> That actual patch seems to be a bit mangled (looks like an unresolved
> git conflict 3 way diff thing). Since it is simple I can fix it up as I
> apply.

Release-wise, this is a pretty clear bug-fix:

Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.