WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] xend: Make hotplug script timeouts config

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xend: Make hotplug script timeouts configurable
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 May 2009 09:30:41 -0700
Delivery-date: Tue, 19 May 2009 09:31:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1242695928 -3600
# Node ID 62ec6aae4ba9decb58dee6bfecd3e3e8b434cffa
# Parent  61501fa86b1b6bd5fc5b291200ac6f9048503ecb
xend: Make hotplug script timeouts configurable

In some configurations, when dom0 is busy with I/O, it may take
several minutes to complete all hotplug scripts required when a new
domain is being created. As device create timeout is set to 100
seconds, users get "hotplug scripts not working" error instead of a
new domain.

This patch makes both DEVICE_CREATE_TIMEOUT and DEVICE_DESTROY_TIMEOUT
configurable in xend-config.sxp to allow users to easily adapt hotplug
timeouts to their environment.

Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
---
 docs/man/xend-config.sxp.pod.5               |   10 ++++++++++
 tools/examples/xend-config.sxp               |    6 ++++++
 tools/python/xen/xend/XendOptions.py         |   14 ++++++++++++++
 tools/python/xen/xend/server/DevConstants.py |    8 ++++++--
 4 files changed, 36 insertions(+), 2 deletions(-)

diff -r 61501fa86b1b -r 62ec6aae4ba9 docs/man/xend-config.sxp.pod.5
--- a/docs/man/xend-config.sxp.pod.5    Tue May 19 02:16:37 2009 +0100
+++ b/docs/man/xend-config.sxp.pod.5    Tue May 19 02:18:48 2009 +0100
@@ -115,6 +115,16 @@ migration, such as for example virtual T
 migration, such as for example virtual TPM migration. An example
 script is I</etc/xen/scripts/external-device-migrate>.
 
+=item I<device-create-timeout>
+
+Integer value that tells xend how long it should wait for a new device
+to be created. Defaults to I<100>.
+
+=item I<device-destroy-timeout>
+
+Integer value that tells xend how long it should wait for a device to
+be destroyed. Defaults to I<100>.
+
 =back
 
 =head1 EXAMPLES
diff -r 61501fa86b1b -r 62ec6aae4ba9 tools/examples/xend-config.sxp
--- a/tools/examples/xend-config.sxp    Tue May 19 02:16:37 2009 +0100
+++ b/tools/examples/xend-config.sxp    Tue May 19 02:18:48 2009 +0100
@@ -254,3 +254,9 @@
 # Path where persistent domain configuration is stored.
 # Default is /var/lib/xend/domains/
 #(xend-domains-path /var/lib/xend/domains)
+
+# Number of seconds xend will wait for device creation and
+# destruction
+#(device-create-timeout 100)
+#(device-destroy-timeout 100)
+
diff -r 61501fa86b1b -r 62ec6aae4ba9 tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py      Tue May 19 02:16:37 2009 +0100
+++ b/tools/python/xen/xend/XendOptions.py      Tue May 19 02:18:48 2009 +0100
@@ -141,6 +141,12 @@ class XendOptions:
     """Default rotation count of qemu-dm log file."""
     qemu_dm_logrotate_count = 10
 
+    """Default timeout for device creation."""
+    device_create_timeout_default = 100
+
+    """Default timeout for device destruction."""
+    device_destroy_timeout_default = 100
+
     def __init__(self):
         self.configure()
 
@@ -367,6 +373,14 @@ class XendOptions:
     def get_qemu_dm_logrotate_count(self):
         return self.get_config_int("qemu-dm-logrotate-count",
                                    self.qemu_dm_logrotate_count)
+
+    def get_device_create_timeout(self):
+        return self.get_config_int("device-create-timeout",
+                                   self.device_create_timeout_default)
+
+    def get_device_destroy_timeout(self):
+        return self.get_config_int("device-destroy-timeout",
+                                   self.device_destroy_timeout_default)
 
 
 class XendOptionsFile(XendOptions):
diff -r 61501fa86b1b -r 62ec6aae4ba9 
tools/python/xen/xend/server/DevConstants.py
--- a/tools/python/xen/xend/server/DevConstants.py      Tue May 19 02:16:37 
2009 +0100
+++ b/tools/python/xen/xend/server/DevConstants.py      Tue May 19 02:18:48 
2009 +0100
@@ -16,8 +16,12 @@
 # Copyright (C) 2005 XenSource Ltd
 #============================================================================
 
-DEVICE_CREATE_TIMEOUT  = 100
-DEVICE_DESTROY_TIMEOUT = 100
+from xen.xend import XendOptions
+
+xoptions = XendOptions.instance()
+
+DEVICE_CREATE_TIMEOUT  = xoptions.get_device_create_timeout();
+DEVICE_DESTROY_TIMEOUT = xoptions.get_device_destroy_timeout();
 HOTPLUG_STATUS_NODE = "hotplug-status"
 HOTPLUG_ERROR_NODE  = "hotplug-error"
 HOTPLUG_STATUS_ERROR = "error"

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xend: Make hotplug script timeouts configurable, Xen patchbot-unstable <=