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

Re: [Xen-devel] Domains not being destroyed properly

On Tue, 2011-06-21 at 15:52 +0100, Anthony Wright wrote:
> On 21/06/2011 14:39, Konrad Rzeszutek Wilk wrote:
> > On Tue, Jun 21, 2011 at 01:57:20PM +0100, Anthony Wright wrote:
> >> On 21/06/2011 12:51, Ian Campbell wrote:
> >>> On Fri, 2011-06-17 at 12:29 +0100, Anthony Wright wrote:
> >>>> If I create a domain with 'xl create -e', and then shut the domain down
> >>>> with 'xl shutdown' according to 'xl list' it gets stuck in state
> >>>> '--ps-d', with a name of '(none)' and 0 ram, ('xm list' doesn't show the
> >>>> domain).
> >>>> If I destroy the domain with 'xl destroy' the domain is destroyed 
> >>>> properly.
> >>>>
> >>>> If I create a domain with 'xl create' (without the '-e' option) and then
> >>>> use 'xl shutdown', the domain is destroyed properly.
> >>>> Since the 'xl shutdown' & 'xl destroy' give different results I presume
> >>>> this is a bug.
> >>> The -e option to xl create means don't daemonize to babysit this domain.
> >>> One of the key bits of functionality of the daemon is to destroy the
> >>> domain after it is shutdown. So if you use -e you need to do the destroy
> >>> manually. So effectively you have gotten what you asked for ;-)
> >>>
> >> However I can't destroy the domain with 'xl destroy'. The command runs,
> >> but the domain is still there afterwards.
> > Is qemu-dm running for that domain? what happens if you kill it?
> Ah ha.... that makes the domain go away.
> Ok, to be clear what I did....
> xl create -e domain-details
> xl shutdown <domain>
> (End up with a domain called (null) in state --ps-d according to xl list
> kill the qemu-dm process associated with the domain
> the domain goes away
> note that I didn't need to do an 'xl destroy' the kill of qemu-dm was
> sufficient
> If I do....
> xl create -e domain-details
> xl destroy <domain>
> the domain goes away

The difference is that shutdown is only a request to the guest to shut
itself down, while destroy is the big hammer which kills the guest with
prejudice and tidies up any detritus (or at least that is the intention

I suspect that you will probably find that only the hypervisor parts of
the domain are being cleaned up by killing qemu -- e.g. the xenstore
entries and some other stuff (e.g. libxl user data) are not being
cleaned up.

If you do:
xl create -e domain-details
xl shutdown <domain>
xl destroy <domain>

Does everything get cleaned up?

If you don't want to run an xl daemon for each domain (although I agree
with IanJ that they should be pretty cheap) I think a new xl sub-command
which caused it to behave as a single daemon reaping domains would be a
fine thing to have in our toolkit.


Xen-devel mailing list



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