From dbe23c6eb50b6dc59738dceb0ece78221cadcfd3 Mon Sep 17 00:00:00 2001
From: Douglas Schilling Landgraf <dougsland@redhat.com>
Date: Wed, 11 Jul 2012 11:18:42 -0400
Subject: [PATCH 35/40] BZ#837443: remove bridge before add VDSM bridge
Related to BZ#837443: ovirt-node fails to register with ovirt-engine
oVirt Node when installed manually creates a bridge to be consumed.
VDSM should remove any bridge (listed or not listed in libvirt)
to create it's own bridge.
Change-Id: Ibc2842db371483225042d511c6495df1bc5047de
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/6016
Reviewed-by: Igor Lvovsky <ilvovsky@redhat.com>
Reviewed-by: Mark Wu <wudxw@linux.vnet.ibm.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/6208
---
vdsm/configNetwork.py | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
index dabd219..c94648c 100755
--- a/vdsm/configNetwork.py
+++ b/vdsm/configNetwork.py
@@ -745,9 +745,22 @@ def delNetwork(network, vlan=None, bonding=None, nics=None, force=False,
validateBridgeName(network)
+ if configWriter is None:
+ configWriter = ConfigWriter()
+
if network not in _netinfo.networks:
- raise ConfigNetworkError(ne.ERR_BAD_BRIDGE,
- "Cannot delete network %r: It doesn't exist" % network)
+ logging.info("Network %r: doesn't exist in libvirt database", network)
+ if network in netinfo.bridges():
+ configWriter.removeBridge(network)
+ else:
+ raise ConfigNetworkError(ne.ERR_BAD_BRIDGE,
+ "Cannot delete network %r: It doesn't exist "
+ "in the system" % network)
+
+ if vlan:
+ configWriter.removeVlan(vlan, bonding or nics[0])
+
+ return
nics, vlan, bonding = _netinfo.getNicsVlanAndBondingForNetwork(network)
bridged = _netinfo.networks[network]['bridged']
@@ -767,9 +780,6 @@ def delNetwork(network, vlan=None, bonding=None, nics=None, force=False,
if bridged:
assertBridgeClean(network, vlan, bonding, nics)
- if configWriter is None:
- configWriter = ConfigWriter()
-
if bridged:
configWriter.setNewMtu(network)
--
1.7.7.6