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

[Xen-changelog] [xen-unstable] [Xend] Do network startup earlier.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1185523475 -3600
# Node ID f035c4d9880a453d8c309fdf0e06dedefd96684c
# Parent  68f0e623f6b0a82fc6888c18410677e71fd47a62
[Xend] Do network startup earlier.

Xend tries to rebuild the network configuration such as bridges and
vlan interfaces  (in those bridges) when starting. Unfortunately this
fails on the first startup since the network script has not run, yet,
and for example created peth0. When restarting xend it works due to
the peth0 being there then. This patch moves the initialization of the
network to an earlier time in the xend initialization process to
mitigate this problem.

Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
---
 tools/python/xen/xend/XendPIF.py          |    4 ++++
 tools/python/xen/xend/server/SrvServer.py |    3 ---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff -r 68f0e623f6b0 -r f035c4d9880a tools/python/xen/xend/XendPIF.py
--- a/tools/python/xen/xend/XendPIF.py  Fri Jul 27 09:03:35 2007 +0100
+++ b/tools/python/xen/xend/XendPIF.py  Fri Jul 27 09:04:35 2007 +0100
@@ -24,12 +24,16 @@ from xen.xend.XendBase import XendBase
 from xen.xend.XendBase import XendBase
 from xen.xend.XendPIFMetrics import XendPIFMetrics
 from xen.xend.XendError import *
+from xen.xend import Vifctl
 
 log = logging.getLogger("xend.XendPIF")
 log.setLevel(logging.TRACE)
 
 MAC_RE = re.compile(':'.join(['[0-9a-f]{2}'] * 6))
 IP_IFACE_RE = re.compile(r'^\d+: (\w+):.*mtu (\d+) .* link/\w+ ([0-9a-f:]+)')
+
+
+Vifctl.network('start')
 
 def linux_phy_to_virt(pif_name):
     return 'eth' + re.sub(r'^[a-z]+', '', pif_name)
diff -r 68f0e623f6b0 -r f035c4d9880a tools/python/xen/xend/server/SrvServer.py
--- a/tools/python/xen/xend/server/SrvServer.py Fri Jul 27 09:03:35 2007 +0100
+++ b/tools/python/xen/xend/server/SrvServer.py Fri Jul 27 09:04:35 2007 +0100
@@ -49,7 +49,6 @@ from xen.web.httpserver import HttpServe
 from xen.web.httpserver import HttpServer, UnixHttpServer
 
 from xen.xend import XendNode, XendOptions, XendAPI
-from xen.xend import Vifctl
 from xen.xend.XendLogging import log
 from xen.xend.XendClient import XEN_API_SOCKET
 from xen.xend.XendDomain import instance as xenddomain
@@ -101,8 +100,6 @@ class XendServers:
         if status:
             fcntl.fcntl(status, fcntl.F_SETFD, fcntl.FD_CLOEXEC)
         
-        Vifctl.network('start')
-
         # Prepare to catch SIGTERM (received when 'xend stop' is executed)
         # and call each server's cleanup if possible
         signal.signal(signal.SIGTERM, self.cleanup)

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


 


Rackspace

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