Update neutron ml2 class
[apex-tripleo-heat-templates.git] / puppet / services / neutron-plugin-ml2.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Neutron ML2 Plugin configured with Puppet
5
6 parameters:
7   EndpointMap:
8     default: {}
9     description: Mapping of service endpoint -> protocol. Typically set
10                  via parameter_defaults in the resource registry.
11     type: json
12   NeutronMechanismDrivers:
13     default: 'openvswitch'
14     description: |
15         The mechanism drivers for the Neutron tenant network.
16     type: comma_delimited_list
17   NeutronTypeDrivers:
18     default: "vxlan,vlan,flat,gre"
19     description: |
20         Comma-separated list of network type driver entrypoints to be loaded.
21     type: comma_delimited_list
22   NeutronFlatNetworks:
23     type: comma_delimited_list
24     default: 'datacentre'
25     description: If set, flat networks to configure in neutron plugins.
26   NeutronPluginExtensions:
27     default: "qos,port_security"
28     description: |
29         Comma-separated list of extensions enabled for the Neutron plugin.
30     type: comma_delimited_list
31   NeutronNetworkVLANRanges:
32     default: 'datacentre:1:1000'
33     description: >
34       The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
35       Neutron documentation for permitted values. Defaults to permitting any
36       VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
37     type: comma_delimited_list
38   NeutronTunnelIdRanges:
39     description: |
40         Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
41         of GRE tunnel IDs that are available for tenant network allocation
42     default: ["1:4094", ]
43     type: comma_delimited_list
44   NeutronVniRanges:
45     description: |
46         Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
47         of VXLAN VNI IDs that are available for tenant network allocation
48     default: ["1:4094", ]
49     type: comma_delimited_list
50   NeutronNetworkType:
51     default: 'vxlan'
52     description: The tenant network type for Neutron.
53     type: comma_delimited_list
54
55 resources:
56
57   NeutronBase:
58     type: ./neutron-base.yaml
59
60 outputs:
61   role_data:
62     description: Role data for the Neutron ML2 plugin.
63     value:
64       config_settings:
65         map_merge:
66           - get_attr: [NeutronBase, role_data, config_settings]
67           - neutron::plugins::ml2::mechanism_drivers:
68               str_replace:
69                 template: MECHANISMS
70                 params:
71                   MECHANISMS: {get_param: NeutronMechanismDrivers}
72             neutron::plugins::ml2::type_drivers:
73               str_replace:
74                 template: DRIVERS
75                 params:
76                   DRIVERS: {get_param: NeutronTypeDrivers}
77             neutron::plugins::ml2::flat_networks:
78               str_replace:
79                 template: NETWORKS
80                 params:
81                   NETWORKS: {get_param: NeutronFlatNetworks}
82             neutron::plugins::ml2::extension_drivers:
83               str_replace:
84                 template: PLUGIN_EXTENSIONS
85                 params:
86                   PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
87             neutron::plugins::ml2::network_vlan_ranges:
88               str_replace:
89                 template: RANGES
90                 params:
91                   RANGES: {get_param: NeutronNetworkVLANRanges}
92             neutron::plugins::ml2::tunnel_id_ranges:
93               str_replace:
94                 template: RANGES
95                 params:
96                   RANGES: {get_param: NeutronTunnelIdRanges}
97             neutron::plugins::ml2::vni_ranges:
98               str_replace:
99                 template: RANGES
100                 params:
101                   RANGES: {get_param: NeutronVniRanges}
102             neutron::plugins::ml2::tenant_network_types:
103               str_replace:
104                 template: TYPES
105                 params:
106                   TYPES: {get_param: NeutronNetworkType}
107
108       step_config: |
109         include ::tripleo::profile::base::neutron::plugins::ml2