composable neutron ml2 and ovs agent
[apex-tripleo-heat-templates.git] / puppet / services / neutron-ovs-agent.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Neutron OVS agent 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   NeutronEnableTunnelling:
13     type: string
14     default: "True"
15   NeutronEnableL2Pop:
16     type: string
17     description: >
18         Enable/disable the L2 population feature in the Neutron agents.
19     default: "False"
20   NeutronBridgeMappings:
21     description: >
22       The OVS logical->physical bridge mappings to use. See the Neutron
23       documentation for details. Defaults to mapping br-ex - the external
24       bridge on hosts - to a physical name 'datacentre' which can be used
25       to create provider networks (and we use this for the default floating
26       network) - if changing this either use different post-install network
27       scripts or be sure to keep 'datacentre' as a mapping network name.
28     type: comma_delimited_list
29     default: "datacentre:br-ex"
30   NeutronTunnelTypes:
31     default: 'vxlan'
32     description: |
33         The tunnel types for the Neutron tenant network.
34     type: comma_delimited_list
35   NeutronAgentExtensions:
36     default: "qos"
37     description: |
38         Comma-separated list of extensions enabled for the Neutron agents.
39     type: comma_delimited_list
40
41 resources:
42
43   NeutronBase:
44     type: ./neutron-base.yaml
45
46 outputs:
47   role_data:
48     description: Role data for the Neutron OVS agent service.
49     value:
50       config_settings:
51         map_merge:
52           - get_attr: [NeutronBase, role_data, config_settings]
53             neutron::agents::ml2::ovs::enable_tunneling: {get_param: NeutronEnableTunnelling}
54             neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
55             neutron::agents::ml2::ovs::bridge_mappings:
56               str_replace:
57                 template: MAPPINGS
58                 params:
59                   MAPPINGS: {get_param: NeutronBridgeMappings}
60             neutron::agents::ml2::ovs::tunnel_types:
61               str_replace:
62                 template: TYPES
63                 params:
64                   TYPES: {get_param: NeutronTunnelTypes}
65             neutron::agents::ml2::ovs::extensions:
66               str_replace:
67                 template: AGENT_EXTENSIONS
68                 params:
69                   AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
70       step_config: |
71         include ::tripleo::profile::base::neutron::ovs