|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: xm list dropping domain?
Tim Freeman wrote:
On Fri, 1 Oct 2004 14:00:45 -0500
Tim Freeman <tfreeman@xxxxxxxxxxx> wrote:
I rebooted xenU from console (dom2) and exited (ctr-]). xm list does
not report 2 anymore yet I can log into 2 via console and it is running
just fine. Is this a bug? I'll pull/rebuild and see what happens..
(this is xen-2.0, cset 1.1321.1.1, rh7.3 dom0/dom1)
OK, I'm sorry, it eventually comes back if I repeatedly query. What is
the criteria for being in xm list?
It has to exist as a domain when xend asks the xen kernel about it.
During a reboot the domain actually goes away and is recreated, so
there's a window where it doesn't exist and is about to be recreated.
This is because the domain's devices have to be released and
its memory image destroyed before it can be 'rebooted'.
Xen itself doesn't know about 'reboot'.
I'm testing some controller code and I want to be able to poll at any
time for the status of domains no matter their state (the user could be
rebooting). I want the code to also respond to changes in state (now,
just to log).
If I made a direct call to Xend, would it produce different information
during this window? (I assume not, though I am off to figure out how to
make direct calls..)
Xm just uses the direct http interface underneath so you would get the same
domain list. If you're writing a controller you would probably find it
useful to connect to xend port 8001 and read the domain events.
There you will see lifecycle events for all domains without having to poll.
Try 'telnet localhost 8001' and start/stop/reboot/migrate a domain and
you'll see the events.
In the past xen itself was in control of domain id so xend couldn't create
a domain object with the correct id until xen had made a domain - this
made it tricky to handle create/reboot because domain objects are indexed by id.
Now that xend is in control of domain id I've been thinking of rejigging it
so there is always a domain object - but even then reboot is tricky because
of destroying/recreating the devices and memory image.
From python you can use XendClient to call the api directly - either
synchronously or asynchronously. From Java you can use Jakarta commons
httpclient, and from C you can use libcurl (see the xfrd source in xen).
Hope this helps,
Mike
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|