diff --git a/library/provider_networks b/library/provider_networks index da0c85f8..cfe15cdf 100644 --- a/library/provider_networks +++ b/library/provider_networks @@ -100,6 +100,12 @@ EXAMPLES = """ # group_binds: # - neutron_linuxbridge_agent # - network: +# host_bind_override: "bond1" +# type: "vlan" +# net_name: "physnet1" +# group_binds: +# - neutron_linuxbridge_agent +# - network: # container_bridge: "br-provider" # container_type: "veth" # container_interface: "eth11" @@ -221,11 +227,17 @@ class ProviderNetworksParsing(object): ): if "vlan" not in self.network_types: self.network_types.append('vlan') - for vlan_range in net['network']['range'].split(','): - self.network_vlan_ranges.append( - '%s:%s' % ( - net['network']['net_name'], vlan_range.strip() + if "range" in net['network']: + for vlan_range in net['network']['range'].split(','): + self.network_vlan_ranges.append( + '%s:%s' % ( + net['network']['net_name'], + vlan_range.strip() + ) ) + else: + self.network_vlan_ranges.append( + net['network']['net_name'] ) elif net['network']['type'] == "vxlan": if "vxlan" not in self.network_types: diff --git a/releasenotes/notes/make-vlan-ranges-optional-1c8f3d183c369e16.yaml b/releasenotes/notes/make-vlan-ranges-optional-1c8f3d183c369e16.yaml new file mode 100644 index 00000000..1846a5a0 --- /dev/null +++ b/releasenotes/notes/make-vlan-ranges-optional-1c8f3d183c369e16.yaml @@ -0,0 +1,17 @@ +--- +fixes: + - | + When defining provider networks, vlan ranges are no longer required. + When a vlan range is not specified, the provider label ``net_name`` + still be set in ``network_vlan_ranges``, but automatic VLAN + allocation will not be available. + + Implementation Example: + + .. code-block:: text + + host_bind_override: "bond1" + type: "vlan" + net_name: "physnet1" + group_binds: + - neutron_linuxbridge_agent