Customize "supported_pci_vendor_devs" for SR-IOV
[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   NeutronSupportedPCIVendorDevs:
55     description: |
56         List of supported pci vendor devices in the format VendorID:ProductID.
57         By default Intel & Mellanox SR-IOV capable NICs are supported.
58     type: comma_delimited_list
59     default: ['15b3:1004','8086:10ca']
60 resources:
61
62   NeutronBase:
63     type: ./neutron-base.yaml
64
65 outputs:
66   role_data:
67     description: Role data for the Neutron ML2 plugin.
68     value:
69       config_settings:
70         map_merge:
71           - get_attr: [NeutronBase, role_data, config_settings]
72           - neutron::plugins::ml2::mechanism_drivers:
73               str_replace:
74                 template: MECHANISMS
75                 params:
76                   MECHANISMS: {get_param: NeutronMechanismDrivers}
77             neutron::plugins::ml2::type_drivers:
78               str_replace:
79                 template: DRIVERS
80                 params:
81                   DRIVERS: {get_param: NeutronTypeDrivers}
82             neutron::plugins::ml2::flat_networks:
83               str_replace:
84                 template: NETWORKS
85                 params:
86                   NETWORKS: {get_param: NeutronFlatNetworks}
87             neutron::plugins::ml2::extension_drivers:
88               str_replace:
89                 template: PLUGIN_EXTENSIONS
90                 params:
91                   PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
92             neutron::plugins::ml2::network_vlan_ranges:
93               str_replace:
94                 template: RANGES
95                 params:
96                   RANGES: {get_param: NeutronNetworkVLANRanges}
97             neutron::plugins::ml2::tunnel_id_ranges:
98               str_replace:
99                 template: RANGES
100                 params:
101                   RANGES: {get_param: NeutronTunnelIdRanges}
102             neutron::plugins::ml2::vni_ranges:
103               str_replace:
104                 template: RANGES
105                 params:
106                   RANGES: {get_param: NeutronVniRanges}
107             neutron::plugins::ml2::tenant_network_types:
108               str_replace:
109                 template: TYPES
110                 params:
111                   TYPES: {get_param: NeutronNetworkType}
112             neutron::plugins::ml2::supported_pci_vendor_devs: {get_param: NeutronSupportedPCIVendorDevs}
113
114       step_config: |
115         include ::tripleo::profile::base::neutron::plugins::ml2