Change in vdsm[master]: sourceroute: replace _removeSourceRoute by parametrized vers...
osvoboda at redhat.com
osvoboda at redhat.com
Fri May 29 16:48:39 UTC 2015
Ondřej Svoboda has uploaded a new change for review.
Change subject: sourceroute: replace _removeSourceRoute by parametrized versions
......................................................................
sourceroute: replace _removeSourceRoute by parametrized versions
Ifcfg configurator now has _remove_static_source_route and Iproute2
configurator got _remove_dynamic_source_route.
Change-Id: Ie4f864746e5e2b64e7ad54d898388f5d6edf527a
Signed-off-by: Ondřej Svoboda <osvoboda at redhat.com>
---
M vdsm/network/configurators/__init__.py
M vdsm/network/configurators/ifcfg.py
M vdsm/network/configurators/iproute2.py
3 files changed, 21 insertions(+), 17 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/12/41612/1
diff --git a/vdsm/network/configurators/__init__.py b/vdsm/network/configurators/__init__.py
index 6adcf00..6462ad1 100644
--- a/vdsm/network/configurators/__init__.py
+++ b/vdsm/network/configurators/__init__.py
@@ -134,12 +134,6 @@
source_route.prepare_configuration()
self.configureSourceRoute(source_route)
- def _removeSourceRoute(self, device, source_route_class):
- if device.ipv4.bootproto != 'dhcp' and device.master is None:
- source_route = source_route_class(device.name)
- if source_route.prepare_removal():
- self.removeSourceRoute(source_route)
-
def _setNewMtu(self, iface, ifaceVlans):
"""
Update an interface's MTU when one of its users is removed.
diff --git a/vdsm/network/configurators/ifcfg.py b/vdsm/network/configurators/ifcfg.py
index ab46b4d..ddf97a3 100644
--- a/vdsm/network/configurators/ifcfg.py
+++ b/vdsm/network/configurators/ifcfg.py
@@ -166,7 +166,7 @@
def removeBridge(self, bridge):
DynamicSourceRoute.addInterfaceTracking(bridge)
ifdown(bridge.name)
- self._removeSourceRoute(bridge, StaticSourceRoute)
+ self._remove_static_source_route(bridge)
utils.execCmd([constants.EXT_BRCTL, 'delbr', bridge.name])
self.configApplier.removeBridge(bridge.name)
if bridge.port:
@@ -175,7 +175,7 @@
def removeVlan(self, vlan):
DynamicSourceRoute.addInterfaceTracking(vlan)
ifdown(vlan.name)
- self._removeSourceRoute(vlan, StaticSourceRoute)
+ self._remove_static_source_route(vlan)
self.configApplier.removeVlan(vlan.name)
vlan.device.remove()
@@ -185,7 +185,7 @@
to_be_removed = not netinfo.ifaceUsed(iface.name)
if to_be_removed:
ifdown(iface.name)
- self._removeSourceRoute(iface, StaticSourceRoute)
+ self._remove_static_source_route(iface)
return to_be_removed
def _addSourceRoute(self, device):
@@ -252,10 +252,14 @@
self._writeConfFile(source_route.routes, 'route', source_route.device)
self._writeConfFile(source_route.rules, 'rule', source_route.device)
- def removeSourceRoute(self, source_route):
- logging.info('Removing source route for %s', source_route.device)
- self._removeSourceRouteFile('rule', source_route.device)
- self._removeSourceRouteFile('route', source_route.device)
+ def removeSourceRoute(self, device):
+ logging.info('Removing source route for %s', device)
+ self._removeSourceRouteFile('rule', device)
+ self._removeSourceRouteFile('route', device)
+
+ def _remove_static_source_route(self, device):
+ if device.ipv4.bootproto != 'dhcp' and device.master is None:
+ self.removeSourceRoute(device.name)
def flush(self):
super(Ifcfg, self).flush()
diff --git a/vdsm/network/configurators/iproute2.py b/vdsm/network/configurators/iproute2.py
index 8520d47..eb4d242 100644
--- a/vdsm/network/configurators/iproute2.py
+++ b/vdsm/network/configurators/iproute2.py
@@ -146,7 +146,7 @@
def removeBridge(self, bridge):
DynamicSourceRoute.addInterfaceTracking(bridge)
self.configApplier.ifdown(bridge)
- self._removeSourceRoute(bridge, DynamicSourceRoute)
+ self._remove_dynamic_source_route(bridge)
self.configApplier.removeBridge(bridge)
if bridge.port:
bridge.port.remove()
@@ -154,7 +154,7 @@
def removeVlan(self, vlan):
DynamicSourceRoute.addInterfaceTracking(vlan)
self.configApplier.ifdown(vlan)
- self._removeSourceRoute(vlan, DynamicSourceRoute)
+ self._remove_dynamic_source_route(vlan)
self.configApplier.removeVlan(vlan)
vlan.device.remove()
@@ -171,7 +171,7 @@
if bonding.master is None:
self.configApplier.removeIpConfig(bonding.name)
DynamicSourceRoute.addInterfaceTracking(bonding)
- self._removeSourceRoute(bonding, DynamicSourceRoute)
+ self._remove_dynamic_source_route(bonding)
if bonding.destroyOnMasterRemoval:
self._destroyBond(bonding)
@@ -190,7 +190,7 @@
if nic.master is None:
self.configApplier.removeIpConfig(nic.name)
DynamicSourceRoute.addInterfaceTracking(nic)
- self._removeSourceRoute(nic, DynamicSourceRoute)
+ self._remove_dynamic_source_route(nic)
else:
self.configApplier.setIfaceMtu(nic.name,
netinfo.DEFAULT_MTU)
@@ -218,6 +218,12 @@
except IPRoute2Error as e:
logging.error('Source route removal failed: %s' % e.message)
+ def _remove_dynamic_source_route(self, device):
+ if device.ipv4.bootproto != 'dhcp' and device.master is None:
+ source_route = DynamicSourceRoute(device.name)
+ if source_route.prepare_removal():
+ self.removeSourceRoute(source_route)
+
class ConfigApplier(object):
def _setIpConfig(self, name, ipv4, ipv6):
--
To view, visit https://gerrit.ovirt.org/41612
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie4f864746e5e2b64e7ad54d898388f5d6edf527a
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Ondřej Svoboda <osvoboda at redhat.com>
More information about the vdsm-patches
mailing list