aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/objects.py
diff options
context:
space:
mode:
Diffstat (limited to 'os_net_config/objects.py')
-rw-r--r--os_net_config/objects.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/os_net_config/objects.py b/os_net_config/objects.py
index 330b695..8d52e73 100644
--- a/os_net_config/objects.py
+++ b/os_net_config/objects.py
@@ -25,6 +25,8 @@ logger = logging.getLogger(__name__)
_MAPPED_NICS = None
+DEFAULT_OVS_BRIDGE_FAIL_MODE = 'standalone'
+
class InvalidConfigException(ValueError):
pass
@@ -397,7 +399,8 @@ class OvsBridge(_BaseOpts):
def __init__(self, name, use_dhcp=False, use_dhcpv6=False, addresses=None,
routes=None, mtu=None, members=None, ovs_options=None,
ovs_extra=None, nic_mapping=None, persist_mapping=False,
- defroute=True, dhclient_args=None, dns_servers=None):
+ defroute=True, dhclient_args=None, dns_servers=None,
+ fail_mode=None):
addresses = addresses or []
routes = routes or []
members = members or []
@@ -408,6 +411,9 @@ class OvsBridge(_BaseOpts):
dhclient_args, dns_servers)
self.members = members
self.ovs_options = ovs_options
+ ovs_extra = ovs_extra or []
+ if fail_mode:
+ ovs_extra.append('set bridge {name} fail_mode=%s' % fail_mode)
self.ovs_extra = format_ovs_extra(self, ovs_extra)
for member in self.members:
member.bridge_name = name
@@ -430,7 +436,8 @@ class OvsBridge(_BaseOpts):
dhclient_args, dns_servers) = _BaseOpts.base_opts_from_json(
json, include_primary=False)
ovs_options = json.get('ovs_options')
- ovs_extra = json.get('ovs_extra', [])
+ ovs_extra = json.get('ovs_extra')
+ fail_mode = json.get('ovs_fail_mode', DEFAULT_OVS_BRIDGE_FAIL_MODE)
members = []
# members
@@ -448,7 +455,8 @@ class OvsBridge(_BaseOpts):
members=members, ovs_options=ovs_options,
ovs_extra=ovs_extra, nic_mapping=nic_mapping,
persist_mapping=persist_mapping, defroute=defroute,
- dhclient_args=dhclient_args, dns_servers=dns_servers)
+ dhclient_args=dhclient_args, dns_servers=dns_servers,
+ fail_mode=fail_mode)
class OvsUserBridge(_BaseOpts):
@@ -457,7 +465,8 @@ class OvsUserBridge(_BaseOpts):
def __init__(self, name, use_dhcp=False, use_dhcpv6=False, addresses=None,
routes=None, mtu=None, members=None, ovs_options=None,
ovs_extra=None, nic_mapping=None, persist_mapping=False,
- defroute=True, dhclient_args=None, dns_servers=None):
+ defroute=True, dhclient_args=None, dns_servers=None,
+ fail_mode=None):
super(OvsUserBridge, self).__init__(name, use_dhcp, use_dhcpv6,
addresses, routes, mtu, False,
nic_mapping, persist_mapping,
@@ -465,6 +474,9 @@ class OvsUserBridge(_BaseOpts):
dns_servers)
self.members = members or []
self.ovs_options = ovs_options
+ ovs_extra = ovs_extra or []
+ if fail_mode:
+ ovs_extra.append('set bridge {name} fail_mode=%s' % fail_mode)
self.ovs_extra = format_ovs_extra(self, ovs_extra)
for member in self.members:
member.bridge_name = name
@@ -489,7 +501,8 @@ class OvsUserBridge(_BaseOpts):
dhclient_args, dns_servers) = _BaseOpts.base_opts_from_json(
json, include_primary=False)
ovs_options = json.get('ovs_options')
- ovs_extra = json.get('ovs_extra', [])
+ ovs_extra = json.get('ovs_extra')
+ fail_mode = json.get('ovs_fail_mode', DEFAULT_OVS_BRIDGE_FAIL_MODE)
members = []
# members
@@ -508,7 +521,7 @@ class OvsUserBridge(_BaseOpts):
ovs_extra=ovs_extra, nic_mapping=nic_mapping,
persist_mapping=persist_mapping,
defroute=defroute, dhclient_args=dhclient_args,
- dns_servers=dns_servers)
+ dns_servers=dns_servers, fail_mode=fail_mode)
class LinuxBridge(_BaseOpts):