Merge "Apply puppet in non-controller script in step."
[apex-tripleo-heat-templates.git] / puppet / services / neutron-plugin-ml2-ovn.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Neutron ML2/OVN 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   OVNSouthboundServerPort:
22     description: Port of the OVN Southbound DB server
23     type: number
24     default: 6642
25   OVNDbConnectionTimeout:
26     description: Timeout in seconds for the OVSDB connection transaction
27     type: number
28     default: 180
29   OVNVifType:
30     description: Type of VIF to be used for ports
31     type: string
32     default: ovs
33     constraints:
34       - allowed_values:
35           - ovs
36           - vhostuser
37   OVNNeutronSyncMode:
38     description: The synchronization mode of OVN with Neutron DB
39     type: string
40     default: log
41     constraints:
42       - allowed_values:
43           - log
44           - off
45           - repair
46   OVNQosDriver:
47     description: OVN notification driver for Neutron QOS service plugin
48     type: string
49     default: NULL
50   NeutronGeneveMaxHeaderSize:
51     description: Geneve encapsulation header size
52     type: number
53     default: 38
54
55 resources:
56
57   NeutronMl2Base:
58     type: ./neutron-plugin-ml2.yaml
59     properties:
60       ServiceNetMap: {get_param: ServiceNetMap}
61       DefaultPasswords: {get_param: DefaultPasswords}
62       EndpointMap: {get_param: EndpointMap}
63
64 outputs:
65   role_data:
66     description: Role data for the Neutron ML2/OVN plugin.
67     value:
68       service_name: neutron_plugin_ml2_ovn
69       config_settings:
70         map_merge:
71           - get_attr: [NeutronMl2Base, role_data, config_settings]
72           - ovn::southbound::port: {get_param: OVNSouthboundServerPort}
73             neutron::plugins::ml2::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
74             neutron::plugins::ml2::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode}
75             neutron::plugins::ml2::ovn::ovn_l3_mode: true
76             neutron::plugins::ml2::ovn::vif_type: {get_param: OVNVifType}
77             neutron::server::qos_notification_drivers: {get_param: OVNQosDriver}
78             neutron::plugins::ml2::max_header_size: {get_param: NeutronGeneveMaxHeaderSize}
79       step_config: |
80         include ::tripleo::profile::base::neutron::plugins::ml2