2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

xenserver: Support fail_mode override at network level.

This patch allows the Pool object's vswitch-controller-fail-mode
setting to be overridden on by Network object.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
Ethan Jackson
2011-01-26 17:20:41 -08:00
parent bfee9bd658
commit 2dd2683703
3 changed files with 48 additions and 13 deletions

View File

@@ -331,7 +331,7 @@ _BOND_ATTRS = { 'uuid': (_str_to_xml,_str_from_xml),
lambda n: _strlist_from_xml(n, 'slaves', 'slave')),
}
_NETWORK_OTHERCONFIG_ATTRS = [ 'mtu', 'static-routes' ] + _ETHTOOL_OTHERCONFIG_ATTRS
_NETWORK_OTHERCONFIG_ATTRS = [ 'mtu', 'static-routes', 'vswitch-controller-fail-mode' ] + _ETHTOOL_OTHERCONFIG_ATTRS
_NETWORK_ATTRS = { 'uuid': (_str_to_xml,_str_from_xml),
'bridge': (_str_to_xml,_str_from_xml),
@@ -604,10 +604,21 @@ class DatabaseCache(object):
filter(lambda (ref,rec): rec['device'] == device,
self.__pifs.items()))
def get_networks_with_bridge(self, bridge):
return map(lambda (ref,rec): ref,
filter(lambda (ref,rec): rec['bridge'] == bridge,
self.__networks.items()))
def get_network_by_bridge(self, bridge):
#Assumes one network has bridge.
try:
return self.get_networks_with_bridge(bridge)[0]
except KeyError:
return None
def get_pif_by_bridge(self, bridge):
networks = map(lambda (ref,rec): ref,
filter(lambda (ref,rec): rec['bridge'] == bridge,
self.__networks.items()))
networks = self.get_networks_with_bridge(bridge)
if len(networks) == 0:
raise Error("No matching network \"%s\"" % bridge)