Merge "Improve logs from ansible, puppet, docker-puppet.py"
[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 any
57       VLAN 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}