Move trunk service plugin to the proper list
[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   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   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   NeutronMechanismDrivers:
22     default: 'openvswitch'
23     description: |
24         The mechanism drivers for the Neutron tenant network.
25     type: comma_delimited_list
26   NeutronTypeDrivers:
27     default: "vxlan,vlan,flat,gre"
28     description: |
29         Comma-separated list of network type driver entrypoints to be loaded.
30     type: comma_delimited_list
31   NeutronFlatNetworks:
32     type: comma_delimited_list
33     default: 'datacentre'
34     description: If set, flat networks to configure in neutron plugins.
35   NeutronPluginExtensions:
36     default: "qos,port_security"
37     description: |
38         Comma-separated list of extensions enabled for the Neutron plugin.
39     type: comma_delimited_list
40   NeutronNetworkVLANRanges:
41     default: 'datacentre:1:1000'
42     description: >
43       The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
44       Neutron documentation for permitted values. Defaults to permitting any
45       VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
46     type: comma_delimited_list
47   NeutronTunnelIdRanges:
48     description: |
49         Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
50         of GRE tunnel IDs that are available for tenant network allocation
51     default: ["1:4094", ]
52     type: comma_delimited_list
53   NeutronVniRanges:
54     description: |
55         Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
56         of VXLAN VNI IDs that are available for tenant network allocation
57     default: ["1:4094", ]
58     type: comma_delimited_list
59   NeutronNetworkType:
60     default: 'vxlan'
61     description: The tenant network type for Neutron.
62     type: comma_delimited_list
63   NeutronSupportedPCIVendorDevs:
64     description: |
65         List of supported pci vendor devices in the format VendorID:ProductID.
66         By default Intel & Mellanox SR-IOV capable NICs are supported.
67     type: comma_delimited_list
68     default: ['15b3:1004','8086:10ca']
69 resources:
70
71   NeutronBase:
72     type: ./neutron-base.yaml
73     properties:
74       ServiceNetMap: {get_param: ServiceNetMap}
75       DefaultPasswords: {get_param: DefaultPasswords}
76       EndpointMap: {get_param: EndpointMap}
77
78 outputs:
79   role_data:
80     description: Role data for the Neutron ML2 plugin.
81     value:
82       service_name: neutron_plugin_ml2
83       config_settings:
84         map_merge:
85           - get_attr: [NeutronBase, role_data, config_settings]
86           - neutron::plugins::ml2::mechanism_drivers:
87               str_replace:
88                 template: MECHANISMS
89                 params:
90                   MECHANISMS: {get_param: NeutronMechanismDrivers}
91             neutron::plugins::ml2::type_drivers:
92               str_replace:
93                 template: DRIVERS
94                 params:
95                   DRIVERS: {get_param: NeutronTypeDrivers}
96             neutron::plugins::ml2::flat_networks:
97               str_replace:
98                 template: NETWORKS
99                 params:
100                   NETWORKS: {get_param: NeutronFlatNetworks}
101             neutron::plugins::ml2::extension_drivers:
102               str_replace:
103                 template: PLUGIN_EXTENSIONS
104                 params:
105                   PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
106             neutron::plugins::ml2::network_vlan_ranges:
107               str_replace:
108                 template: RANGES
109                 params:
110                   RANGES: {get_param: NeutronNetworkVLANRanges}
111             neutron::plugins::ml2::tunnel_id_ranges:
112               str_replace:
113                 template: RANGES
114                 params:
115                   RANGES: {get_param: NeutronTunnelIdRanges}
116             neutron::plugins::ml2::vni_ranges:
117               str_replace:
118                 template: RANGES
119                 params:
120                   RANGES: {get_param: NeutronVniRanges}
121             neutron::plugins::ml2::tenant_network_types:
122               str_replace:
123                 template: TYPES
124                 params:
125                   TYPES: {get_param: NeutronNetworkType}
126             neutron::plugins::ml2::supported_pci_vendor_devs: {get_param: NeutronSupportedPCIVendorDevs}
127
128       step_config: |
129         include ::tripleo::profile::base::neutron::plugins::ml2