You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/11/08 19:09:28 UTC
[72/76] [abbrv] git commit: updated refs/heads/ui-restyle to 9dd6ff6
CLOUDSTACK-5076: fix wrong bridge name in vm domain xml desc after upgrade from 4.0 or before to 4.2
(cherry picked from commit 86976fb298bb05b7a5380573e292ec9687169228)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4674ae4d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4674ae4d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4674ae4d
Branch: refs/heads/ui-restyle
Commit: 4674ae4dd347ebf0d921247666db6f21518a0f08
Parents: 9734821
Author: Wei Zhou <w....@leaseweb.com>
Authored: Fri Nov 8 14:36:48 2013 +0100
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Fri Nov 8 15:40:14 2013 +0100
----------------------------------------------------------------------
.../kvm/resource/LibvirtComputingResource.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4674ae4d/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 00412d2..63bd5dc 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -199,6 +199,7 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.GuestDef;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.GuestResourceDef;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InputDef;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
+import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef.guestNetType;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.SerialDef;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.TermPolicy;
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.VirtioSerialDef;
@@ -4396,6 +4397,21 @@ ServerResource {
try {
dm = conn.domainLookupByName(vmName);
String vmDef = dm.getXMLDesc(0);
+ LibvirtDomainXMLParser parser = new LibvirtDomainXMLParser();
+ parser.parseDomainXML(vmDef);
+ for (InterfaceDef nic :parser.getInterfaces()) {
+ if ((nic.getNetType() == guestNetType.BRIDGE) && (nic.getBrName().startsWith("cloudVirBr"))) {
+ try {
+ int vnetId = Integer.parseInt(nic.getBrName().replaceFirst("cloudVirBr", ""));
+ String pifName = getPif(_guestBridgeName);
+ String newBrName = "br" + pifName + "-"+ vnetId;
+ vmDef = vmDef.replaceAll("'" + nic.getBrName() + "'", "'" + newBrName + "'");
+ s_logger.debug("VM bridge name is changed from " + nic.getBrName() + " to " + newBrName);
+ } catch (NumberFormatException e) {
+ continue;
+ }
+ }
+ }
s_logger.debug(vmDef);
msg = stopVM(conn, vmName);
msg = startVM(conn, vmName, vmDef);