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