Change in vdsm[master]: pyroute2: ports target is not set
phoracek at redhat.com
phoracek at redhat.com
Thu Aug 7 12:13:54 UTC 2014
Petr Horáček has uploaded a new change for review.
Change subject: pyroute2: ports target is not set
......................................................................
pyroute2: ports target is not set
Network tests using pyroute2 sometimes raise:
CommitException: ports target is not set.
It seems quite random to me (I didn't find the cause).
Anyway, I looked at some pyroute2 examples in its docs and i
found, that they add bridge and its port in one with statement, so
i removed addBridgePort() function from pyroute2 and changed
addBridge() to work that way.
Change-Id: I3f3bf85f161e498f396e3cf130fb8308ae932860
Signed-off-by: Petr Horáček <phoracek at redhat.com>
---
M vdsm/network/configurators/pyroute_two.py
1 file changed, 15 insertions(+), 6 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/01/31201/1
diff --git a/vdsm/network/configurators/pyroute_two.py b/vdsm/network/configurators/pyroute_two.py
index 9fe63b5..33184af 100644
--- a/vdsm/network/configurators/pyroute_two.py
+++ b/vdsm/network/configurators/pyroute_two.py
@@ -25,6 +25,7 @@
from . import libvirt
from .dhclient import DhcpClient
from .iproute2 import Iproute2
+from ..sourceroute import DynamicSourceRoute
try:
from pyroute2 import IPDB
@@ -48,6 +49,15 @@
self.configApplier = None
self.runningConfig.save()
self.runningConfig = None
+
+ def configureBridge(self, bridge, **opts):
+ self.configApplier.addBridge(bridge, **opts)
+ DynamicSourceRoute.addInterfaceTracking(bridge)
+ self.configApplier.setIfaceConfigAndUp(bridge)
+ self._addSourceRoute(bridge)
+ if 'custom' in opts and 'bridge_opts' in opts['custom']:
+ self.configApplier._setBridgeOpts(bridge,
+ opts['custom']['bridge_opts'])
class ConfigApplier(object):
@@ -93,12 +103,11 @@
self.setIfaceMtu(iface.name, iface.mtu)
self.ifup(iface)
- def addBridge(self, bridge):
- self.ip.create(kind='bridge', ifname=bridge.name).commit()
-
- def addBridgePort(self, bridge):
- with self.ip.interfaces[bridge.name] as i:
- i.add_port(self.ip.interfaces[bridge.port.name])
+ def addBridge(self, bridge, **opts):
+ with self.ip.create(kind='bridge', ifname=bridge.name) as i:
+ if bridge.port:
+ bridge.port.configure(**opts)
+ i.add_port(self.ip.interfaces[bridge.port.name])
def removeBridge(self, bridge):
with self.ip.interfaces[bridge.name] as i:
--
To view, visit http://gerrit.ovirt.org/31201
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3f3bf85f161e498f396e3cf130fb8308ae932860
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Petr Horáček <phoracek at redhat.com>
More information about the vdsm-patches
mailing list