mirror of https://github.com/apache/cloudstack.git
Qemu migration hook: check for source length before using element 0 (#7482)
Co-authored-by: Marcus Sorensen <mls@apple.com>
This commit is contained in:
parent
cb0874f5b9
commit
bdd5363314
|
|
@ -61,21 +61,23 @@ def handleMigrateBegin():
|
|||
try:
|
||||
domain = parse(sys.stdin)
|
||||
for interface in domain.getElementsByTagName("interface"):
|
||||
source = interface.getElementsByTagName("source")[0]
|
||||
bridge = source.getAttribute("bridge")
|
||||
if isOldStyleBridge(bridge):
|
||||
vlanId = bridge.replace("cloudVirBr", "")
|
||||
phyDev = getGuestNetworkDevice()
|
||||
elif isNewStyleBridge(bridge):
|
||||
vlanId = re.sub(r"br(\w+)-", "", bridge)
|
||||
phyDev = re.sub(r"-(\d+)$", "" , re.sub(r"^br", "" ,bridge))
|
||||
netlib = networkConfig()
|
||||
if not netlib.isNetworkDev(phyDev):
|
||||
sources = interface.getElementsByTagName("source")
|
||||
if sources.length > 0:
|
||||
source = interface.getElementsByTagName("source")[0]
|
||||
bridge = source.getAttribute("bridge")
|
||||
if isOldStyleBridge(bridge):
|
||||
vlanId = bridge.replace("cloudVirBr", "")
|
||||
phyDev = getGuestNetworkDevice()
|
||||
else:
|
||||
continue
|
||||
newBrName = "br" + phyDev + "-" + vlanId
|
||||
source.setAttribute("bridge", newBrName)
|
||||
elif isNewStyleBridge(bridge):
|
||||
vlanId = re.sub(r"br(\w+)-", "", bridge)
|
||||
phyDev = re.sub(r"-(\d+)$", "" , re.sub(r"^br", "" ,bridge))
|
||||
netlib = networkConfig()
|
||||
if not netlib.isNetworkDev(phyDev):
|
||||
phyDev = getGuestNetworkDevice()
|
||||
else:
|
||||
continue
|
||||
newBrName = "br" + phyDev + "-" + vlanId
|
||||
source.setAttribute("bridge", newBrName)
|
||||
print(domain.toxml())
|
||||
except:
|
||||
pass
|
||||
|
|
|
|||
Loading…
Reference in New Issue