Merge "Setting networking-odl v2 as a mechanism driver"
[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   OVNDbConnectionTimeout:
22     description: Timeout in seconds for the OVSDB connection transaction
23     type: number
24     default: 60
25   OVNVifType:
26     description: Type of VIF to be used for ports
27     type: string
28     default: ovs
29     constraints:
30       - allowed_values:
31           - ovs
32           - vhostuser
33   OVNNeutronSyncMode:
34     description: The synchronization mode of OVN with Neutron DB
35     type: string
36     default: log
37     constraints:
38       - allowed_values:
39           - log
40           - off
41           - repair
42   OVNQosDriver:
43     description: OVN notification driver for Neutron QOS service plugin
44     type: string
45     default: NULL
46
47 resources:
48
49   NeutronMl2Base:
50     type: ./neutron-plugin-ml2.yaml
51     properties:
52       ServiceNetMap: {get_param: ServiceNetMap}
53       DefaultPasswords: {get_param: DefaultPasswords}
54       EndpointMap: {get_param: EndpointMap}
55
56 outputs:
57   role_data:
58     description: Role data for the Neutron ML2/OVN plugin.
59     value:
60       service_name: neutron_plugin_ml2_ovn
61       config_settings:
62         map_merge:
63           - get_attr: [NeutronMl2Base, role_data, config_settings]
64           - neutron::plugins::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
65             neutron::plugins::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode}
66             neutron::plugins::ovn::ovn_l3_mode: true
67             neutron::plugins::ovn::vif_type: {get_param: OVNVifType}
68             neutron::server::qos_notification_drivers: {get_param: OVNQosDriver}
69       step_config: |
70         include ::tripleo::profile::base::neutron::plugins::ml2