Enable setting domain parameter for interfaces
This enables the setting of a static domain that will be used to aid DNS queries. Change-Id: I284691444b2f10cc831d4b3148d41100f6c7796d
This commit is contained in:
committed by
Harald Jensås
parent
d18d35223f
commit
fc9fbd4461
@@ -605,6 +605,8 @@ class IfcfgNetConfig(os_net_config.NetConfig):
|
|||||||
data += "DNS2=%s\n" % base_opt.dns_servers[1]
|
data += "DNS2=%s\n" % base_opt.dns_servers[1]
|
||||||
if len(base_opt.dns_servers) > 2:
|
if len(base_opt.dns_servers) > 2:
|
||||||
logger.warning('ifcfg format supports max 2 resolvers.')
|
logger.warning('ifcfg format supports max 2 resolvers.')
|
||||||
|
if base_opt.domain:
|
||||||
|
data += "DOMAIN=%s\n" % base_opt.domain
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def _add_routes(self, interface_name, routes=[]):
|
def _add_routes(self, interface_name, routes=[]):
|
||||||
|
|||||||
@@ -322,7 +322,7 @@ class _BaseOpts(object):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True):
|
onboot=True, domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -360,6 +360,7 @@ class _BaseOpts(object):
|
|||||||
self.defroute = defroute
|
self.defroute = defroute
|
||||||
self.dhclient_args = dhclient_args
|
self.dhclient_args = dhclient_args
|
||||||
self.dns_servers = dns_servers
|
self.dns_servers = dns_servers
|
||||||
|
self.domain = domain
|
||||||
self.nm_controlled = nm_controlled
|
self.nm_controlled = nm_controlled
|
||||||
self.onboot = onboot
|
self.onboot = onboot
|
||||||
self.bridge_name = None # internal
|
self.bridge_name = None # internal
|
||||||
@@ -397,6 +398,7 @@ class _BaseOpts(object):
|
|||||||
mtu = json.get('mtu', None)
|
mtu = json.get('mtu', None)
|
||||||
dhclient_args = json.get('dhclient_args')
|
dhclient_args = json.get('dhclient_args')
|
||||||
dns_servers = json.get('dns_servers')
|
dns_servers = json.get('dns_servers')
|
||||||
|
domain = json.get('domain')
|
||||||
nm_controlled = strutils.bool_from_string(str(json.get('nm_controlled',
|
nm_controlled = strutils.bool_from_string(str(json.get('nm_controlled',
|
||||||
False)))
|
False)))
|
||||||
onboot = strutils.bool_from_string(str(json.get('onboot',
|
onboot = strutils.bool_from_string(str(json.get('onboot',
|
||||||
@@ -442,11 +444,11 @@ class _BaseOpts(object):
|
|||||||
if include_primary:
|
if include_primary:
|
||||||
return (use_dhcp, use_dhcpv6, addresses, routes, rules, mtu,
|
return (use_dhcp, use_dhcpv6, addresses, routes, rules, mtu,
|
||||||
primary, nic_mapping, persist_mapping, defroute,
|
primary, nic_mapping, persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers, nm_controlled, onboot)
|
dhclient_args, dns_servers, nm_controlled, onboot, domain)
|
||||||
else:
|
else:
|
||||||
return (use_dhcp, use_dhcpv6, addresses, routes, rules, mtu,
|
return (use_dhcp, use_dhcpv6, addresses, routes, rules, mtu,
|
||||||
nic_mapping, persist_mapping, defroute, dhclient_args,
|
nic_mapping, persist_mapping, defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled, onboot)
|
dns_servers, nm_controlled, onboot, domain)
|
||||||
|
|
||||||
|
|
||||||
class Interface(_BaseOpts):
|
class Interface(_BaseOpts):
|
||||||
@@ -456,7 +458,7 @@ class Interface(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, ethtool_opts=None, hotplug=False):
|
onboot=True, domain=None, ethtool_opts=None, hotplug=False):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -465,7 +467,7 @@ class Interface(_BaseOpts):
|
|||||||
routes, rules, mtu, primary,
|
routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping, defroute,
|
nic_mapping, persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.ethtool_opts = ethtool_opts
|
self.ethtool_opts = ethtool_opts
|
||||||
self.hotplug = hotplug
|
self.hotplug = hotplug
|
||||||
|
|
||||||
@@ -490,7 +492,7 @@ class Vlan(_BaseOpts):
|
|||||||
addresses=None, routes=None, rules=None, mtu=None,
|
addresses=None, routes=None, rules=None, mtu=None,
|
||||||
primary=False, nic_mapping=None, persist_mapping=False,
|
primary=False, nic_mapping=None, persist_mapping=False,
|
||||||
defroute=True, dhclient_args=None, dns_servers=None,
|
defroute=True, dhclient_args=None, dns_servers=None,
|
||||||
nm_controlled=False, onboot=True):
|
nm_controlled=False, onboot=True, domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -499,7 +501,7 @@ class Vlan(_BaseOpts):
|
|||||||
super(Vlan, self).__init__(name, use_dhcp, use_dhcpv6, addresses,
|
super(Vlan, self).__init__(name, use_dhcp, use_dhcpv6, addresses,
|
||||||
routes, rules, mtu, primary, nic_mapping,
|
routes, rules, mtu, primary, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args,
|
persist_mapping, defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled, onboot)
|
dns_servers, nm_controlled, onboot, domain)
|
||||||
self.vlan_id = int(vlan_id)
|
self.vlan_id = int(vlan_id)
|
||||||
mapped_nic_names = mapped_nics(nic_mapping)
|
mapped_nic_names = mapped_nics(nic_mapping)
|
||||||
if device in mapped_nic_names:
|
if device in mapped_nic_names:
|
||||||
@@ -523,7 +525,7 @@ class IvsInterface(_BaseOpts):
|
|||||||
addresses=None, routes=None, rules=None, mtu=1500,
|
addresses=None, routes=None, rules=None, mtu=1500,
|
||||||
primary=False, nic_mapping=None, persist_mapping=False,
|
primary=False, nic_mapping=None, persist_mapping=False,
|
||||||
defroute=True, dhclient_args=None, dns_servers=None,
|
defroute=True, dhclient_args=None, dns_servers=None,
|
||||||
nm_controlled=False, onboot=True):
|
nm_controlled=False, onboot=True, domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -534,7 +536,7 @@ class IvsInterface(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.vlan_id = int(vlan_id)
|
self.vlan_id = int(vlan_id)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -552,7 +554,8 @@ class NfvswitchInternal(_BaseOpts):
|
|||||||
use_dhcpv6=False, addresses=None, routes=None, rules=None,
|
use_dhcpv6=False, addresses=None, routes=None, rules=None,
|
||||||
mtu=1500, primary=False, nic_mapping=None,
|
mtu=1500, primary=False, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True):
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
|
domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -564,7 +567,7 @@ class NfvswitchInternal(_BaseOpts):
|
|||||||
nic_mapping, persist_mapping,
|
nic_mapping, persist_mapping,
|
||||||
defroute, dhclient_args,
|
defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled,
|
dns_servers, nm_controlled,
|
||||||
onboot)
|
onboot, domain)
|
||||||
self.vlan_id = int(vlan_id)
|
self.vlan_id = int(vlan_id)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -583,7 +586,7 @@ class OvsBridge(_BaseOpts):
|
|||||||
ovs_options=None, ovs_extra=None, nic_mapping=None,
|
ovs_options=None, ovs_extra=None, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True,
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
fail_mode=None):
|
domain=None, fail_mode=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
|
|
||||||
@@ -596,7 +599,7 @@ class OvsBridge(_BaseOpts):
|
|||||||
routes, rules, mtu, False, nic_mapping,
|
routes, rules, mtu, False, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
self.ovs_options = ovs_options
|
self.ovs_options = ovs_options
|
||||||
ovs_extra = ovs_extra or []
|
ovs_extra = ovs_extra or []
|
||||||
@@ -643,7 +646,7 @@ class OvsBridge(_BaseOpts):
|
|||||||
name = _get_required_field(json, 'name', 'OvsBridge')
|
name = _get_required_field(json, 'name', 'OvsBridge')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers,
|
persist_mapping, defroute, dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot) = _BaseOpts.base_opts_from_json(
|
nm_controlled, onboot, domain) = _BaseOpts.base_opts_from_json(
|
||||||
json, include_primary=False)
|
json, include_primary=False)
|
||||||
ovs_options = json.get('ovs_options')
|
ovs_options = json.get('ovs_options')
|
||||||
ovs_extra = json.get('ovs_extra', [])
|
ovs_extra = json.get('ovs_extra', [])
|
||||||
@@ -660,7 +663,7 @@ class OvsBridge(_BaseOpts):
|
|||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot,
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
fail_mode=fail_mode)
|
domain=domain, fail_mode=fail_mode)
|
||||||
|
|
||||||
|
|
||||||
class OvsUserBridge(_BaseOpts):
|
class OvsUserBridge(_BaseOpts):
|
||||||
@@ -671,7 +674,7 @@ class OvsUserBridge(_BaseOpts):
|
|||||||
ovs_options=None, ovs_extra=None, nic_mapping=None,
|
ovs_options=None, ovs_extra=None, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True,
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
fail_mode=None):
|
domain=None, fail_mode=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
|
|
||||||
@@ -680,7 +683,7 @@ class OvsUserBridge(_BaseOpts):
|
|||||||
False, nic_mapping,
|
False, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members or []
|
self.members = members or []
|
||||||
self.ovs_options = ovs_options
|
self.ovs_options = ovs_options
|
||||||
ovs_extra = ovs_extra or []
|
ovs_extra = ovs_extra or []
|
||||||
@@ -707,7 +710,7 @@ class OvsUserBridge(_BaseOpts):
|
|||||||
name = _get_required_field(json, 'name', 'OvsUserBridge')
|
name = _get_required_field(json, 'name', 'OvsUserBridge')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers,
|
persist_mapping, defroute, dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot) = _BaseOpts.base_opts_from_json(
|
nm_controlled, onboot, domain) = _BaseOpts.base_opts_from_json(
|
||||||
json, include_primary=False)
|
json, include_primary=False)
|
||||||
ovs_options = json.get('ovs_options')
|
ovs_options = json.get('ovs_options')
|
||||||
ovs_extra = json.get('ovs_extra', [])
|
ovs_extra = json.get('ovs_extra', [])
|
||||||
@@ -725,7 +728,7 @@ class OvsUserBridge(_BaseOpts):
|
|||||||
defroute=defroute, dhclient_args=dhclient_args,
|
defroute=defroute, dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers,
|
dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot,
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
fail_mode=fail_mode)
|
domain=domain, fail_mode=fail_mode)
|
||||||
|
|
||||||
|
|
||||||
class LinuxBridge(_BaseOpts):
|
class LinuxBridge(_BaseOpts):
|
||||||
@@ -735,7 +738,7 @@ class LinuxBridge(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, members=None,
|
routes=None, rules=None, mtu=None, members=None,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True):
|
onboot=True, domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -745,7 +748,7 @@ class LinuxBridge(_BaseOpts):
|
|||||||
addresses, routes, rules, mtu, False,
|
addresses, routes, rules, mtu, False,
|
||||||
nic_mapping, persist_mapping,
|
nic_mapping, persist_mapping,
|
||||||
defroute, dhclient_args, dns_servers,
|
defroute, dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
member.linux_bridge_name = name
|
member.linux_bridge_name = name
|
||||||
@@ -764,7 +767,8 @@ class LinuxBridge(_BaseOpts):
|
|||||||
name = _get_required_field(json, 'name', 'LinuxBridge')
|
name = _get_required_field(json, 'name', 'LinuxBridge')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json, include_primary=False)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json,
|
||||||
|
include_primary=False)
|
||||||
|
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
|
|
||||||
@@ -774,7 +778,8 @@ class LinuxBridge(_BaseOpts):
|
|||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args,
|
dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers,
|
dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot)
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
|
domain=domain)
|
||||||
|
|
||||||
|
|
||||||
class IvsBridge(_BaseOpts):
|
class IvsBridge(_BaseOpts):
|
||||||
@@ -794,7 +799,8 @@ class IvsBridge(_BaseOpts):
|
|||||||
addresses=None, rules=None, routes=None,
|
addresses=None, rules=None, routes=None,
|
||||||
mtu=1500, members=None, nic_mapping=None,
|
mtu=1500, members=None, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True):
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
|
domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -804,7 +810,7 @@ class IvsBridge(_BaseOpts):
|
|||||||
addresses, routes, rules, mtu, False,
|
addresses, routes, rules, mtu, False,
|
||||||
nic_mapping, persist_mapping,
|
nic_mapping, persist_mapping,
|
||||||
defroute, dhclient_args, dns_servers,
|
defroute, dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
if isinstance(member, OvsBond) or isinstance(member, LinuxBond):
|
if isinstance(member, OvsBond) or isinstance(member, LinuxBond):
|
||||||
@@ -819,7 +825,8 @@ class IvsBridge(_BaseOpts):
|
|||||||
name = 'ivs'
|
name = 'ivs'
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json, include_primary=False)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json,
|
||||||
|
include_primary=False)
|
||||||
|
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
|
|
||||||
@@ -829,7 +836,7 @@ class IvsBridge(_BaseOpts):
|
|||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args,
|
dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers, nm_controlled=nm_controlled,
|
dns_servers=dns_servers, nm_controlled=nm_controlled,
|
||||||
onboot=onboot)
|
onboot=onboot, domain=domain)
|
||||||
|
|
||||||
|
|
||||||
class NfvswitchBridge(_BaseOpts):
|
class NfvswitchBridge(_BaseOpts):
|
||||||
@@ -844,7 +851,7 @@ class NfvswitchBridge(_BaseOpts):
|
|||||||
addresses=None, routes=None, rules=None, mtu=1500,
|
addresses=None, routes=None, rules=None, mtu=1500,
|
||||||
members=None, nic_mapping=None, persist_mapping=False,
|
members=None, nic_mapping=None, persist_mapping=False,
|
||||||
defroute=True, dhclient_args=None, dns_servers=None,
|
defroute=True, dhclient_args=None, dns_servers=None,
|
||||||
nm_controlled=False, onboot=True, options=""):
|
nm_controlled=False, onboot=True, domain=None, options=""):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -855,7 +862,7 @@ class NfvswitchBridge(_BaseOpts):
|
|||||||
False, nic_mapping,
|
False, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.options = options
|
self.options = options
|
||||||
self.members = members
|
self.members = members
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
@@ -871,7 +878,8 @@ class NfvswitchBridge(_BaseOpts):
|
|||||||
name = 'nfvswitch'
|
name = 'nfvswitch'
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json, include_primary=False)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json,
|
||||||
|
include_primary=False)
|
||||||
|
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
|
|
||||||
@@ -888,7 +896,7 @@ class NfvswitchBridge(_BaseOpts):
|
|||||||
defroute=defroute, dhclient_args=dhclient_args,
|
defroute=defroute, dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers,
|
dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot,
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
options=options)
|
domain=domain, options=options)
|
||||||
|
|
||||||
|
|
||||||
class LinuxTeam(_BaseOpts):
|
class LinuxTeam(_BaseOpts):
|
||||||
@@ -898,7 +906,8 @@ class LinuxTeam(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
members=None, bonding_options=None, nic_mapping=None,
|
members=None, bonding_options=None, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True):
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
|
domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -908,7 +917,7 @@ class LinuxTeam(_BaseOpts):
|
|||||||
routes, rules, mtu, primary,
|
routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping, defroute,
|
nic_mapping, persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
self.bonding_options = bonding_options
|
self.bonding_options = bonding_options
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
@@ -927,7 +936,8 @@ class LinuxTeam(_BaseOpts):
|
|||||||
name = _get_required_field(json, 'name', 'LinuxTeam')
|
name = _get_required_field(json, 'name', 'LinuxTeam')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json, include_primary=False)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json,
|
||||||
|
include_primary=False)
|
||||||
|
|
||||||
bonding_options = json.get('bonding_options')
|
bonding_options = json.get('bonding_options')
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
@@ -939,7 +949,8 @@ class LinuxTeam(_BaseOpts):
|
|||||||
nic_mapping=nic_mapping,
|
nic_mapping=nic_mapping,
|
||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot)
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
|
domain=domain)
|
||||||
|
|
||||||
|
|
||||||
class LinuxBond(_BaseOpts):
|
class LinuxBond(_BaseOpts):
|
||||||
@@ -949,7 +960,8 @@ class LinuxBond(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
members=None, bonding_options=None, nic_mapping=None,
|
members=None, bonding_options=None, nic_mapping=None,
|
||||||
persist_mapping=False, defroute=True, dhclient_args=None,
|
persist_mapping=False, defroute=True, dhclient_args=None,
|
||||||
dns_servers=None, nm_controlled=False, onboot=True):
|
dns_servers=None, nm_controlled=False, onboot=True,
|
||||||
|
domain=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -959,7 +971,7 @@ class LinuxBond(_BaseOpts):
|
|||||||
routes, rules, mtu, primary,
|
routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping, defroute,
|
nic_mapping, persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
self.bonding_options = bonding_options
|
self.bonding_options = bonding_options
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
@@ -999,8 +1011,8 @@ class LinuxBond(_BaseOpts):
|
|||||||
def from_json(json):
|
def from_json(json):
|
||||||
name = _get_required_field(json, 'name', 'LinuxBond')
|
name = _get_required_field(json, 'name', 'LinuxBond')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
dns_servers, nm_controlled, onboot) = _BaseOpts.base_opts_from_json(
|
onboot, domain) = _BaseOpts.base_opts_from_json(
|
||||||
json, include_primary=False)
|
json, include_primary=False)
|
||||||
bonding_options = json.get('bonding_options')
|
bonding_options = json.get('bonding_options')
|
||||||
|
|
||||||
@@ -1013,7 +1025,8 @@ class LinuxBond(_BaseOpts):
|
|||||||
nic_mapping=nic_mapping,
|
nic_mapping=nic_mapping,
|
||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot)
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
|
domain=domain)
|
||||||
|
|
||||||
|
|
||||||
class OvsBond(_BaseOpts):
|
class OvsBond(_BaseOpts):
|
||||||
@@ -1024,7 +1037,7 @@ class OvsBond(_BaseOpts):
|
|||||||
members=None, ovs_options=None, ovs_extra=None,
|
members=None, ovs_options=None, ovs_extra=None,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True):
|
onboot=True, domain=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
|
|
||||||
@@ -1036,7 +1049,8 @@ class OvsBond(_BaseOpts):
|
|||||||
super(OvsBond, self).__init__(name, use_dhcp, use_dhcpv6, addresses,
|
super(OvsBond, self).__init__(name, use_dhcp, use_dhcpv6, addresses,
|
||||||
routes, rules, mtu, primary, nic_mapping,
|
routes, rules, mtu, primary, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args,
|
persist_mapping, defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled, onboot)
|
dns_servers, nm_controlled, onboot,
|
||||||
|
domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
self.ovs_options = ovs_options
|
self.ovs_options = ovs_options
|
||||||
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
||||||
@@ -1080,8 +1094,8 @@ class OvsBond(_BaseOpts):
|
|||||||
def from_json(json):
|
def from_json(json):
|
||||||
name = _get_required_field(json, 'name', 'OvsBond')
|
name = _get_required_field(json, 'name', 'OvsBond')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
dns_servers, nm_controlled, onboot) = _BaseOpts.base_opts_from_json(
|
onboot, domain) = _BaseOpts.base_opts_from_json(
|
||||||
json, include_primary=False)
|
json, include_primary=False)
|
||||||
ovs_options = json.get('ovs_options')
|
ovs_options = json.get('ovs_options')
|
||||||
ovs_extra = json.get('ovs_extra', [])
|
ovs_extra = json.get('ovs_extra', [])
|
||||||
@@ -1096,7 +1110,8 @@ class OvsBond(_BaseOpts):
|
|||||||
ovs_extra=ovs_extra, nic_mapping=nic_mapping,
|
ovs_extra=ovs_extra, nic_mapping=nic_mapping,
|
||||||
persist_mapping=persist_mapping, defroute=defroute,
|
persist_mapping=persist_mapping, defroute=defroute,
|
||||||
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
dhclient_args=dhclient_args, dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot)
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
|
domain=domain)
|
||||||
|
|
||||||
|
|
||||||
class OvsTunnel(_BaseOpts):
|
class OvsTunnel(_BaseOpts):
|
||||||
@@ -1106,7 +1121,7 @@ class OvsTunnel(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, tunnel_type=None, ovs_options=None,
|
onboot=True, domain=None, tunnel_type=None, ovs_options=None,
|
||||||
ovs_extra=None):
|
ovs_extra=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
@@ -1119,7 +1134,7 @@ class OvsTunnel(_BaseOpts):
|
|||||||
routes, rules, mtu, primary,
|
routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping, defroute,
|
nic_mapping, persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.tunnel_type = tunnel_type
|
self.tunnel_type = tunnel_type
|
||||||
self.ovs_options = ovs_options or []
|
self.ovs_options = ovs_options or []
|
||||||
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
||||||
@@ -1145,8 +1160,8 @@ class OvsPatchPort(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, bridge_name=None, peer=None, ovs_options=None,
|
onboot=True, domain=None, bridge_name=None, peer=None,
|
||||||
ovs_extra=None):
|
ovs_options=None, ovs_extra=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
|
|
||||||
@@ -1159,7 +1174,7 @@ class OvsPatchPort(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.bridge_name = bridge_name
|
self.bridge_name = bridge_name
|
||||||
self.peer = peer
|
self.peer = peer
|
||||||
self.ovs_options = ovs_options or []
|
self.ovs_options = ovs_options or []
|
||||||
@@ -1187,7 +1202,7 @@ class IbInterface(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, ethtool_opts=None):
|
onboot=True, domain=None, ethtool_opts=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -1197,7 +1212,7 @@ class IbInterface(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.ethtool_opts = ethtool_opts
|
self.ethtool_opts = ethtool_opts
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -1215,7 +1230,7 @@ class OvsDpdkPort(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, members=None, driver='vfio-pci',
|
onboot=True, domain=None, members=None, driver='vfio-pci',
|
||||||
ovs_options=None, ovs_extra=None, rx_queue=None):
|
ovs_options=None, ovs_extra=None, rx_queue=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
@@ -1225,7 +1240,7 @@ class OvsDpdkPort(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members or []
|
self.members = members or []
|
||||||
self.ovs_options = ovs_options or []
|
self.ovs_options = ovs_options or []
|
||||||
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
||||||
@@ -1258,7 +1273,7 @@ class OvsDpdkPort(_BaseOpts):
|
|||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, primary,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping, defroute, dhclient_args,
|
nic_mapping, persist_mapping, defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled,
|
dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json)
|
||||||
|
|
||||||
driver = json.get('driver')
|
driver = json.get('driver')
|
||||||
if not driver:
|
if not driver:
|
||||||
@@ -1309,7 +1324,7 @@ class OvsDpdkPort(_BaseOpts):
|
|||||||
dhclient_args=dhclient_args,
|
dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers,
|
dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot,
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
members=members, driver=driver,
|
domain=domain, members=members, driver=driver,
|
||||||
ovs_options=ovs_options,
|
ovs_options=ovs_options,
|
||||||
ovs_extra=ovs_extra, rx_queue=rx_queue)
|
ovs_extra=ovs_extra, rx_queue=rx_queue)
|
||||||
|
|
||||||
@@ -1321,8 +1336,8 @@ class SriovVF(_BaseOpts):
|
|||||||
addresses=None, routes=None, rules=None, mtu=None,
|
addresses=None, routes=None, rules=None, mtu=None,
|
||||||
primary=False, nic_mapping=None, persist_mapping=False,
|
primary=False, nic_mapping=None, persist_mapping=False,
|
||||||
defroute=True, dhclient_args=None, dns_servers=None,
|
defroute=True, dhclient_args=None, dns_servers=None,
|
||||||
nm_controlled=False, onboot=True, vlan_id=0, qos=0,
|
nm_controlled=False, onboot=True, domain=None, vlan_id=0,
|
||||||
spoofcheck=None, trust=None, state=None, macaddr=None,
|
qos=0, spoofcheck=None, trust=None, state=None, macaddr=None,
|
||||||
promisc=None):
|
promisc=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
@@ -1339,7 +1354,7 @@ class SriovVF(_BaseOpts):
|
|||||||
routes, rules, mtu, primary, nic_mapping,
|
routes, rules, mtu, primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.vfid = int(vfid)
|
self.vfid = int(vfid)
|
||||||
self.device = device
|
self.device = device
|
||||||
self.vlan_id = int(vlan_id)
|
self.vlan_id = int(vlan_id)
|
||||||
@@ -1399,7 +1414,8 @@ class SriovPF(_BaseOpts):
|
|||||||
addresses=None, routes=None, rules=None, mtu=None,
|
addresses=None, routes=None, rules=None, mtu=None,
|
||||||
primary=False, nic_mapping=None, persist_mapping=False,
|
primary=False, nic_mapping=None, persist_mapping=False,
|
||||||
defroute=True, dhclient_args=None, dns_servers=None,
|
defroute=True, dhclient_args=None, dns_servers=None,
|
||||||
nm_controlled=False, onboot=True, members=None, promisc=None):
|
nm_controlled=False, onboot=True, domain=None, members=None,
|
||||||
|
promisc=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -1408,7 +1424,7 @@ class SriovPF(_BaseOpts):
|
|||||||
routes, rules, mtu, primary, nic_mapping,
|
routes, rules, mtu, primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.numvfs = int(numvfs)
|
self.numvfs = int(numvfs)
|
||||||
mapped_nic_names = mapped_nics(nic_mapping)
|
mapped_nic_names = mapped_nics(nic_mapping)
|
||||||
if name in mapped_nic_names:
|
if name in mapped_nic_names:
|
||||||
@@ -1445,7 +1461,7 @@ class OvsDpdkBond(_BaseOpts):
|
|||||||
members=None, ovs_options=None, ovs_extra=None,
|
members=None, ovs_options=None, ovs_extra=None,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, rx_queue=None):
|
onboot=True, domain=None, rx_queue=None):
|
||||||
|
|
||||||
check_ovs_installed(self.__class__.__name__)
|
check_ovs_installed(self.__class__.__name__)
|
||||||
|
|
||||||
@@ -1454,7 +1470,7 @@ class OvsDpdkBond(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members or []
|
self.members = members or []
|
||||||
self.ovs_options = ovs_options
|
self.ovs_options = ovs_options
|
||||||
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
self.ovs_extra = format_ovs_extra(self, ovs_extra)
|
||||||
@@ -1478,8 +1494,8 @@ class OvsDpdkBond(_BaseOpts):
|
|||||||
def from_json(json):
|
def from_json(json):
|
||||||
name = _get_required_field(json, 'name', 'OvsDpdkBond')
|
name = _get_required_field(json, 'name', 'OvsDpdkBond')
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
dns_servers, nm_controlled, onboot) = _BaseOpts.base_opts_from_json(
|
onboot, domain) = _BaseOpts.base_opts_from_json(
|
||||||
json, include_primary=False)
|
json, include_primary=False)
|
||||||
rx_queue = json.get('rx_queue', None)
|
rx_queue = json.get('rx_queue', None)
|
||||||
ovs_options = json.get('ovs_options')
|
ovs_options = json.get('ovs_options')
|
||||||
@@ -1514,7 +1530,7 @@ class OvsDpdkBond(_BaseOpts):
|
|||||||
defroute=defroute, dhclient_args=dhclient_args,
|
defroute=defroute, dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers,
|
dns_servers=dns_servers,
|
||||||
nm_controlled=nm_controlled, onboot=onboot,
|
nm_controlled=nm_controlled, onboot=onboot,
|
||||||
rx_queue=rx_queue)
|
domain=domain, rx_queue=rx_queue)
|
||||||
|
|
||||||
|
|
||||||
class VppInterface(_BaseOpts):
|
class VppInterface(_BaseOpts):
|
||||||
@@ -1545,7 +1561,8 @@ class VppInterface(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, uio_driver='vfio-pci', options=None):
|
onboot=True, domain=None, uio_driver='vfio-pci',
|
||||||
|
options=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
rules = rules or []
|
rules = rules or []
|
||||||
@@ -1555,7 +1572,7 @@ class VppInterface(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.uio_driver = uio_driver
|
self.uio_driver = uio_driver
|
||||||
self.options = options
|
self.options = options
|
||||||
# pci_dev contains pci address for the interface, it will be populated
|
# pci_dev contains pci address for the interface, it will be populated
|
||||||
@@ -1580,7 +1597,7 @@ class VppBond(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, members=None, bonding_options=None):
|
onboot=True, domain=None, members=None, bonding_options=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
members = members or []
|
members = members or []
|
||||||
routes = routes or []
|
routes = routes or []
|
||||||
@@ -1590,7 +1607,8 @@ class VppBond(_BaseOpts):
|
|||||||
addresses, routes, rules, mtu, primary,
|
addresses, routes, rules, mtu, primary,
|
||||||
nic_mapping, persist_mapping,
|
nic_mapping, persist_mapping,
|
||||||
defroute, dhclient_args,
|
defroute, dhclient_args,
|
||||||
dns_servers, nm_controlled, onboot)
|
dns_servers, nm_controlled, onboot,
|
||||||
|
domain)
|
||||||
self.members = members
|
self.members = members
|
||||||
self.bonding_options = bonding_options
|
self.bonding_options = bonding_options
|
||||||
|
|
||||||
@@ -1601,7 +1619,8 @@ class VppBond(_BaseOpts):
|
|||||||
|
|
||||||
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
(use_dhcp, use_dhcpv6, addresses, routes, rules, mtu, nic_mapping,
|
||||||
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
persist_mapping, defroute, dhclient_args, dns_servers, nm_controlled,
|
||||||
onboot) = _BaseOpts.base_opts_from_json(json, include_primary=False)
|
onboot, domain) = _BaseOpts.base_opts_from_json(json,
|
||||||
|
include_primary=False)
|
||||||
|
|
||||||
members = []
|
members = []
|
||||||
members_json = json.get('members', None)
|
members_json = json.get('members', None)
|
||||||
@@ -1627,7 +1646,8 @@ class VppBond(_BaseOpts):
|
|||||||
persist_mapping=persist_mapping,
|
persist_mapping=persist_mapping,
|
||||||
defroute=defroute, dhclient_args=dhclient_args,
|
defroute=defroute, dhclient_args=dhclient_args,
|
||||||
dns_servers=dns_servers, nm_controlled=nm_controlled,
|
dns_servers=dns_servers, nm_controlled=nm_controlled,
|
||||||
onboot=onboot, bonding_options=bonding_options)
|
onboot=onboot, domain=domain,
|
||||||
|
bonding_options=bonding_options)
|
||||||
|
|
||||||
|
|
||||||
class ContrailVrouter(_BaseOpts):
|
class ContrailVrouter(_BaseOpts):
|
||||||
@@ -1643,7 +1663,7 @@ class ContrailVrouter(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, members=None):
|
onboot=True, domain=None, members=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
|
|
||||||
super(ContrailVrouter, self).__init__(name, use_dhcp, use_dhcpv6,
|
super(ContrailVrouter, self).__init__(name, use_dhcp, use_dhcpv6,
|
||||||
@@ -1651,7 +1671,7 @@ class ContrailVrouter(_BaseOpts):
|
|||||||
primary, nic_mapping,
|
primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot, domain)
|
||||||
self.members = members or []
|
self.members = members or []
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -1660,7 +1680,8 @@ class ContrailVrouter(_BaseOpts):
|
|||||||
|
|
||||||
(_use_dhcp, _use_dhcpv6, _addresses, _routes, _rules, _mtu, _primary,
|
(_use_dhcp, _use_dhcpv6, _addresses, _routes, _rules, _mtu, _primary,
|
||||||
nic_mapping, persist_mapping, _defroute, _dhclient_args, _dns_servers,
|
nic_mapping, persist_mapping, _defroute, _dhclient_args, _dns_servers,
|
||||||
_nm_controlled, _onboot) = opts = _BaseOpts.base_opts_from_json(json)
|
_nm_controlled, _onboot,
|
||||||
|
_domain) = opts = _BaseOpts.base_opts_from_json(json)
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
|
|
||||||
return ContrailVrouter(name, *opts, members=members)
|
return ContrailVrouter(name, *opts, members=members)
|
||||||
@@ -1683,8 +1704,8 @@ class ContrailVrouterDpdk(_BaseOpts):
|
|||||||
routes=None, rules=None, mtu=None, primary=False,
|
routes=None, rules=None, mtu=None, primary=False,
|
||||||
nic_mapping=None, persist_mapping=False, defroute=True,
|
nic_mapping=None, persist_mapping=False, defroute=True,
|
||||||
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
dhclient_args=None, dns_servers=None, nm_controlled=False,
|
||||||
onboot=True, members=None, bond_mode=None, bond_policy=None,
|
onboot=True, domain=None, members=None, bond_mode=None,
|
||||||
driver=None, cpu_list='0-31', vlan_id=None):
|
bond_policy=None, driver=None, cpu_list='0-31', vlan_id=None):
|
||||||
addresses = addresses or []
|
addresses = addresses or []
|
||||||
|
|
||||||
super(ContrailVrouterDpdk, self).__init__(name, use_dhcp, use_dhcpv6,
|
super(ContrailVrouterDpdk, self).__init__(name, use_dhcp, use_dhcpv6,
|
||||||
@@ -1692,7 +1713,8 @@ class ContrailVrouterDpdk(_BaseOpts):
|
|||||||
mtu, primary, nic_mapping,
|
mtu, primary, nic_mapping,
|
||||||
persist_mapping, defroute,
|
persist_mapping, defroute,
|
||||||
dhclient_args, dns_servers,
|
dhclient_args, dns_servers,
|
||||||
nm_controlled, onboot)
|
nm_controlled, onboot,
|
||||||
|
domain)
|
||||||
|
|
||||||
self.members = members or []
|
self.members = members or []
|
||||||
self.bond_mode = bond_mode
|
self.bond_mode = bond_mode
|
||||||
@@ -1712,7 +1734,8 @@ class ContrailVrouterDpdk(_BaseOpts):
|
|||||||
|
|
||||||
(_use_dhcp, _use_dhcpv6, _addresses, _routes, _rules, _mtu, _primary,
|
(_use_dhcp, _use_dhcpv6, _addresses, _routes, _rules, _mtu, _primary,
|
||||||
nic_mapping, persist_mapping, _defroute, _dhclient_args, _dns_servers,
|
nic_mapping, persist_mapping, _defroute, _dhclient_args, _dns_servers,
|
||||||
_nm_controlled, _onboot) = opts = _BaseOpts.base_opts_from_json(json)
|
_nm_controlled, _onboot,
|
||||||
|
_domain) = opts = _BaseOpts.base_opts_from_json(json)
|
||||||
members = _update_members(json, nic_mapping, persist_mapping)
|
members = _update_members(json, nic_mapping, persist_mapping)
|
||||||
|
|
||||||
return ContrailVrouterDpdk(name, *opts, members=members,
|
return ContrailVrouterDpdk(name, *opts, members=members,
|
||||||
|
|||||||
@@ -107,6 +107,10 @@ definitions:
|
|||||||
required:
|
required:
|
||||||
- list_join
|
- list_join
|
||||||
additionalProperties: False
|
additionalProperties: False
|
||||||
|
domain_name_string:
|
||||||
|
type: string
|
||||||
|
pattern: >-
|
||||||
|
^(?=^.{1,255}$)(?!.*\.\..*)(.{1,63}\.)+(.{0,63}\.?)|(?!\.)(?!.*\.\..*)(^.{1,63}$)|(^\.$)$
|
||||||
|
|
||||||
# os-net-config derived types
|
# os-net-config derived types
|
||||||
address:
|
address:
|
||||||
@@ -272,6 +276,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -336,6 +342,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -396,6 +404,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- device
|
- device
|
||||||
@@ -440,6 +450,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- vlan_id
|
- vlan_id
|
||||||
@@ -496,6 +508,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -553,6 +567,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -605,6 +621,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -655,6 +673,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -704,6 +724,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -754,6 +776,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -812,6 +836,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -856,6 +882,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -899,6 +927,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
members:
|
members:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
@@ -1058,6 +1088,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -1107,6 +1139,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -1155,6 +1189,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
@@ -1199,6 +1235,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- members
|
- members
|
||||||
@@ -1242,6 +1280,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- vlan_id
|
- vlan_id
|
||||||
@@ -1288,6 +1328,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- options
|
- options
|
||||||
@@ -1332,6 +1374,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- vlan_id
|
- vlan_id
|
||||||
@@ -1375,6 +1419,8 @@ definitions:
|
|||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
onboot:
|
onboot:
|
||||||
$ref: "#/definitions/bool_or_param"
|
$ref: "#/definitions/bool_or_param"
|
||||||
|
domain:
|
||||||
|
$ref: "#/definitions/domain_name_string"
|
||||||
required:
|
required:
|
||||||
- type
|
- type
|
||||||
- name
|
- name
|
||||||
|
|||||||
@@ -1220,6 +1220,21 @@ NM_CONTROLLED=no
|
|||||||
BOOTPROTO=none
|
BOOTPROTO=none
|
||||||
DNS1=1.2.3.4
|
DNS1=1.2.3.4
|
||||||
DNS2=5.6.7.8
|
DNS2=5.6.7.8
|
||||||
|
"""
|
||||||
|
self.assertEqual(em1_config, self.get_interface_config('em1'))
|
||||||
|
|
||||||
|
def test_interface_domain(self):
|
||||||
|
interface1 = objects.Interface('em1', dns_servers=['1.2.3.4'],
|
||||||
|
domain='openstack.local')
|
||||||
|
self.provider.add_interface(interface1)
|
||||||
|
em1_config = """# This file is autogenerated by os-net-config
|
||||||
|
DEVICE=em1
|
||||||
|
ONBOOT=yes
|
||||||
|
HOTPLUG=no
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
DNS1=1.2.3.4
|
||||||
|
DOMAIN=openstack.local
|
||||||
"""
|
"""
|
||||||
self.assertEqual(em1_config, self.get_interface_config('em1'))
|
self.assertEqual(em1_config, self.get_interface_config('em1'))
|
||||||
|
|
||||||
|
|||||||
@@ -306,6 +306,17 @@ class TestInterface(base.TestCase):
|
|||||||
interface1 = objects.object_from_json(json.loads(data))
|
interface1 = objects.object_from_json(json.loads(data))
|
||||||
self.assertEqual(["1.2.3.4"], interface1.dns_servers)
|
self.assertEqual(["1.2.3.4"], interface1.dns_servers)
|
||||||
|
|
||||||
|
def test_from_json_domain(self):
|
||||||
|
data = """{
|
||||||
|
"type": "interface",
|
||||||
|
"name": "em1",
|
||||||
|
"use_dhcp": true,
|
||||||
|
"domain": "openstack.local"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
interface1 = objects.object_from_json(json.loads(data))
|
||||||
|
self.assertEqual("openstack.local", interface1.domain)
|
||||||
|
|
||||||
def test_from_json_dhcp_nic1(self):
|
def test_from_json_dhcp_nic1(self):
|
||||||
def dummy_mapped_nics(nic_mapping=None):
|
def dummy_mapped_nics(nic_mapping=None):
|
||||||
return {"nic1": "em3"}
|
return {"nic1": "em3"}
|
||||||
|
|||||||
@@ -144,6 +144,35 @@ class TestBaseTypes(base.TestCase):
|
|||||||
self.assertTrue(v.is_valid("fe80::1/64"))
|
self.assertTrue(v.is_valid("fe80::1/64"))
|
||||||
self.assertFalse(v.is_valid("193.168.0.1"))
|
self.assertFalse(v.is_valid("193.168.0.1"))
|
||||||
|
|
||||||
|
def test_domain_name_string(self):
|
||||||
|
schema = validator.get_schema_for_defined_type("domain_name_string")
|
||||||
|
v = jsonschema.Draft4Validator(schema)
|
||||||
|
self.assertTrue(v.is_valid('localdomain'))
|
||||||
|
self.assertTrue(v.is_valid('openstack.local'))
|
||||||
|
self.assertTrue(v.is_valid('999.local'))
|
||||||
|
self.assertTrue(v.is_valid('_foo.bar'))
|
||||||
|
self.assertTrue(v.is_valid('_foo.bar.domain'))
|
||||||
|
self.assertTrue(v.is_valid('trailing.dot.domain.'))
|
||||||
|
self.assertTrue(v.is_valid('.'))
|
||||||
|
self.assertFalse(v.is_valid('.com'))
|
||||||
|
self.assertFalse(v.is_valid('..'))
|
||||||
|
self.assertFalse(v.is_valid('foo..bar'))
|
||||||
|
# Label too long
|
||||||
|
domain = ('123456789-123456789-123456789-123456789-123456789-'
|
||||||
|
'123456789-1234.com')
|
||||||
|
self.assertFalse(v.is_valid(domain))
|
||||||
|
domain = ('123456789-123456789-123456789-123456789-123456789-'
|
||||||
|
'123456789-12345678')
|
||||||
|
self.assertFalse(v.is_valid(domain))
|
||||||
|
domain = ('123456789.123456789.123456789.123456789.123456789.'
|
||||||
|
'123456789.123456789.123456789.123456789.123456789.'
|
||||||
|
'123456789.123456789.123456789.123456789.123456789.'
|
||||||
|
'123456789.123456789.123456789.123456789.123456789.'
|
||||||
|
'123456789.123456789.123456789.123456789.123456789.'
|
||||||
|
'aa.com')
|
||||||
|
self.assertEqual(len(domain), 256)
|
||||||
|
self.assertFalse(v.is_valid(domain))
|
||||||
|
|
||||||
|
|
||||||
class TestDerivedTypes(base.TestCase):
|
class TestDerivedTypes(base.TestCase):
|
||||||
|
|
||||||
@@ -238,6 +267,7 @@ class TestDeviceTypes(base.TestCase):
|
|||||||
"defroute": False,
|
"defroute": False,
|
||||||
"dhclient_args": "--foobar",
|
"dhclient_args": "--foobar",
|
||||||
"dns_servers": ["1.2.3.4"],
|
"dns_servers": ["1.2.3.4"],
|
||||||
|
"domain": "openstack.local",
|
||||||
"mtu": 1501,
|
"mtu": 1501,
|
||||||
"ethtool_opts": "speed 1000 duplex full",
|
"ethtool_opts": "speed 1000 duplex full",
|
||||||
"hotplug": True,
|
"hotplug": True,
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
A key called "domain" is now available for interfaces. This allows the
|
||||||
|
setting of a domain for an ifcfg configuration, which will aide DNS search.
|
||||||
Reference in New Issue
Block a user