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