Accepting request 42024 from Virtualization

Copy from Virtualization/xen based on submit request 42024 from user charlesa

OBS-URL: https://build.opensuse.org/request/show/42024
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xen?expand=0&rev=95
This commit is contained in:
OBS User autobuild 2010-06-28 09:28:15 +00:00 committed by Git OBS Bridge
parent 667b126743
commit 05ee8c5283
3 changed files with 56 additions and 1 deletions

46
21653-xend-mac-addr.patch Normal file
View File

@ -0,0 +1,46 @@
# HG changeset patch
# User Ian Jackson <Ian.Jackson@eu.citrix.com>
# Date 1277219220 -3600
# Node ID 9da3abe88c90bd8ec48963a9ec537a8871e266db
# Parent 2ad890d46cb8a11fc6ea329126d398021307e627
Check "mac" address sooner in device_create function, before doing device_add.
In XendDomainInfo.py device_create function, when device type is
"vif", it has a paragraph to check the validity of "mac"
address. Before checking validity, device_add has been done. But after
checking validity, if the mac address is invlid, it raises VmError and
exits directly without doing clean work like removing the device item
from config info. This will cause that the incorrect mac address is
saved into VM Config file and VM fails to restart. If check "mac"
validity before doing device_add, there will be no problem.
Signed-off-by Chunyan Liu <CYLiu@novell.com>
Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -847,11 +847,6 @@ class XendDomainInfo:
@type dev_config: SXP object (parsed config)
"""
log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config))
- dev_type = sxp.name(dev_config)
- dev_uuid = self.info.device_add(dev_type, cfg_sxp = dev_config)
- dev_config_dict = self.info['devices'][dev_uuid][1]
- log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config_dict))
-
if dev_type == 'vif':
for x in dev_config:
if x != 'vif' and x[0] == 'mac':
@@ -859,6 +854,11 @@ class XendDomainInfo:
log.error("Virtual network interface creation error - invalid MAC Address entered: %s", x[1])
raise VmError("Cannot create a new virtual network interface - MAC address is not valid!");
+ dev_type = sxp.name(dev_config)
+ dev_uuid = self.info.device_add(dev_type, cfg_sxp = dev_config)
+ dev_config_dict = self.info['devices'][dev_uuid][1]
+ log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config_dict))
+
if self.domid is not None:
try:
dev_config_dict['devid'] = devid = \

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Jun 22 11:50:35 MDT 2010 - jfehlig@novell.com
- bnc#604611 - Do not store vif device details when vif config
contains invalid mac address.
21653-xend-mac-addr.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jun 16 08:36:44 MDT 2010 - carnold@novell.com Wed Jun 16 08:36:44 MDT 2010 - carnold@novell.com

View File

@ -39,7 +39,7 @@ BuildRequires: glibc-32bit glibc-devel-32bit
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11 BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
%endif %endif
Version: 4.0.0_21091_05 Version: 4.0.0_21091_05
Release: 5 Release: 6
License: GPLv2+ License: GPLv2+
Group: System/Kernel Group: System/Kernel
AutoReqProv: on AutoReqProv: on
@ -117,6 +117,7 @@ Patch39: 21526-x86-nehalem-cpuid-mask.patch
Patch40: 21542-amd-erratum-411.patch Patch40: 21542-amd-erratum-411.patch
Patch41: 21615-dont-save-xen-heap-pages.patch Patch41: 21615-dont-save-xen-heap-pages.patch
Patch42: 21620-x86-signed-domain-irq.patch Patch42: 21620-x86-signed-domain-irq.patch
Patch43: 21653-xend-mac-addr.patch
# Our patches # Our patches
Patch300: xen-config.diff Patch300: xen-config.diff
Patch301: xend-config.diff Patch301: xend-config.diff
@ -603,6 +604,7 @@ Authors:
%patch40 -p1 %patch40 -p1
%patch41 -p1 %patch41 -p1
%patch42 -p1 %patch42 -p1
%patch43 -p1
%patch300 -p1 %patch300 -p1
%patch301 -p1 %patch301 -p1
%patch302 -p1 %patch302 -p1