Wire Neutron VLAN ranges param as array to puppet

Turns NeutronNetworkVLANRanges into a list and makes it consumable by
neutron::plugins::ml2::network_vlan_ranges as an array. Previously
usage of vlans was impossible due to puppet-neutron failing to
join() network_vlan_ranges.

Also fixes wiring of network_vlan_ranges on computes and adds a
sample environment file to test use of vlans for tenant networks.

Change-Id: I8725cdb9591dd8d0b7125fdacbefdc9138703266
This commit is contained in:
Giulio Fidente 2015-06-02 08:32:55 -04:00
parent 92271fb054
commit 607311e02b
6 changed files with 26 additions and 8 deletions

View File

@ -132,7 +132,7 @@ parameters:
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
Neutron documentation for permitted values. Defaults to permitting any Neutron documentation for permitted values. Defaults to permitting any
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string type: comma_delimited_list
NeutronPassword: NeutronPassword:
default: unset default: unset
description: The password for the neutron service account, used by neutron agents. description: The password for the neutron service account, used by neutron agents.

View File

@ -283,7 +283,7 @@ parameters:
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
Neutron documentation for permitted values. Defaults to permitting any Neutron documentation for permitted values. Defaults to permitting any
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string type: comma_delimited_list
NeutronPassword: NeutronPassword:
default: unset default: unset
description: The password for the neutron service and db account, used by neutron agents. description: The password for the neutron service and db account, used by neutron agents.

View File

@ -0,0 +1,4 @@
parameters:
NeutronNetworkType: vlan
NeutronEnableTunnelling: false
NeutronNetworkVLANRanges: datacentre:1:1000

View File

@ -467,7 +467,7 @@ parameters:
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
Neutron documentation for permitted values. Defaults to permitting any Neutron documentation for permitted values. Defaults to permitting any
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string type: comma_delimited_list
NovaComputeDriver: NovaComputeDriver:
type: string type: string
default: libvirt.LibvirtDriver default: libvirt.LibvirtDriver

View File

@ -132,7 +132,7 @@ parameters:
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
Neutron documentation for permitted values. Defaults to permitting any Neutron documentation for permitted values. Defaults to permitting any
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string type: comma_delimited_list
NeutronPassword: NeutronPassword:
default: unset default: unset
description: The password for the neutron service account, used by neutron agents. description: The password for the neutron service account, used by neutron agents.
@ -369,7 +369,7 @@ resources:
neutron_tenant_network_type: {get_input: neutron_tenant_network_type} neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
neutron_tunnel_types: {get_input: neutron_tunnel_types} neutron_tunnel_types: {get_input: neutron_tunnel_types}
neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges} neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
neutron_bridge_mappings: {get_input: neutron_bridge_mappings} neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling} neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
neutron_physical_bridge: {get_input: neutron_physical_bridge} neutron_physical_bridge: {get_input: neutron_physical_bridge}
@ -424,7 +424,14 @@ resources:
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronLocalIp]}]} neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronLocalIp]}]}
neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tenant_network_type: {get_param: NeutronNetworkType}
neutron_tunnel_types: {get_param: NeutronTunnelTypes} neutron_tunnel_types: {get_param: NeutronTunnelTypes}
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} neutron_network_vlan_ranges:
str_replace:
template: "['RANGES']"
params:
RANGES:
list_join:
- "','"
- {get_param: NeutronNetworkVLANRanges}
neutron_bridge_mappings: {get_param: NeutronBridgeMappings} neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling} neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
neutron_physical_bridge: {get_param: NeutronPhysicalBridge} neutron_physical_bridge: {get_param: NeutronPhysicalBridge}

View File

@ -287,7 +287,7 @@ parameters:
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
Neutron documentation for permitted values. Defaults to permitting any Neutron documentation for permitted values. Defaults to permitting any
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string type: comma_delimited_list
NeutronPassword: NeutronPassword:
default: unset default: unset
description: The password for the neutron service and db account, used by neutron agents. description: The password for the neutron service and db account, used by neutron agents.
@ -629,7 +629,14 @@ resources:
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers} neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
neutron_l3_ha: {get_param: NeutronL3HA} neutron_l3_ha: {get_param: NeutronL3HA}
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} neutron_network_vlan_ranges:
str_replace:
template: "['RANGES']"
params:
RANGES:
list_join:
- "','"
- {get_param: NeutronNetworkVLANRanges}
neutron_bridge_mappings: {get_param: NeutronBridgeMappings} neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
neutron_public_interface: {get_param: NeutronPublicInterface} neutron_public_interface: {get_param: NeutronPublicInterface}
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice} neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}