Please re-send with a changeset comment and a signed-off-by line.
-- Keir
On 26/5/08 08:28, "shawn" <xiaowei.hu@xxxxxxxxxx> wrote:
> Hi all,
>
> I changed this patch ,put the domain into crashed domains,the called
> refreshShutdown immediately.
> Yes,this works fine now ,could do what specified on crashed in the
> domain config file.
>
> Resending this patch ,Please review it again!
>
> Thanks Keir for your suggestion:)
>
> Thanks all.
>
> Regards,
> xiaowei
>
>
> --- ./tools/python/xen/xend/server/SrvServer.py.org 2008-05-21
> 13:53:08.000000000 +0800
> +++ ./tools/python/xen/xend/server/SrvServer.py 2008-05-26
> 15:16:39.000000000 +0800
> @@ -44,6 +44,7 @@
> import re
> import time
> import signal
> +import os
> from threading import Thread
>
> from xen.web.httpserver import HttpServer, UnixHttpServer
> @@ -148,14 +149,27 @@
>
> # Reaching this point means we can auto start domains
> try:
> - xenddomain().autostart_domains()
> + dom = xenddomain()
> + dom.autostart_domains()
> except Exception, e:
> log.exception("Failed while autostarting domains")
>
> # loop to keep main thread alive until it receives a
> SIGTERM
> self.running = True
> while self.running:
> - time.sleep(100000000)
> + # loop to destroy those hvm domain that whoes DM has
> dead unexpectedly.
> + for item in dom.domains.values():
> + if item.info.is_hvm():
> + device_model_pid =
> item.gatherDom(('image/device-model-pid', str))
> + dm_stat_cmd = "ps -o stat --no-headers
> -p"+device_model_pid
> + dm_stat =
> os.popen(dm_stat_cmd).readline().rstrip()
> + if dm_stat == 'Z':
> + log.warn("Devices Model for domain " +
> str(item.domid) + "was killed unexpectedly")
> + item.info['crashed'] = 1
> + item.refreshShutdown(item.info)
> + else:
> + continue
> + time.sleep(30)
>
> if self.reloadingConfig:
> log.info("Restarting all XML-RPC and Xen-API
> servers...")
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|