Merge "Comment parameters for registry in docker.yaml"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-plugin-ml2-ovn.yaml
1 heat_template_version: pike
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   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   OVNSouthboundServerPort:
30     description: Port of the OVN Southbound DB server
31     type: number
32     default: 6642
33   OVNDbConnectionTimeout:
34     description: Timeout in seconds for the OVSDB connection transaction
35     type: number
36     default: 180
37   OVNVifType:
38     description: Type of VIF to be used for ports
39     type: string
40     default: ovs
41     constraints:
42       - allowed_values:
43           - ovs
44           - vhostuser
45   OVNNeutronSyncMode:
46     description: The synchronization mode of OVN with Neutron DB
47     type: string
48     default: log
49     constraints:
50       - allowed_values:
51           - log
52           - off
53           - repair
54   OVNQosDriver:
55     description: OVN notification driver for Neutron QOS service plugin
56     type: string
57     default: NULL
58   NeutronGeneveMaxHeaderSize:
59     description: Geneve encapsulation header size
60     type: number
61     default: 38
62
63 resources:
64
65   NeutronMl2Base:
66     type: ./neutron-plugin-ml2.yaml
67     properties:
68       ServiceNetMap: {get_param: ServiceNetMap}
69       DefaultPasswords: {get_param: DefaultPasswords}
70       EndpointMap: {get_param: EndpointMap}
71       RoleName: {get_param: RoleName}
72       RoleParameters: {get_param: RoleParameters}
73
74 outputs:
75   role_data:
76     description: Role data for the Neutron ML2/OVN plugin.
77     value:
78       service_name: neutron_plugin_ml2_ovn
79       config_settings:
80         map_merge:
81           - get_attr: [NeutronMl2Base, role_data, config_settings]
82           - ovn::southbound::port: {get_param: OVNSouthboundServerPort}
83             neutron::plugins::ml2::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
84             neutron::plugins::ml2::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode}
85             neutron::plugins::ml2::ovn::ovn_l3_mode: true
86             neutron::plugins::ml2::ovn::vif_type: {get_param: OVNVifType}
87             neutron::server::qos_notification_drivers: {get_param: OVNQosDriver}
88             neutron::plugins::ml2::max_header_size: {get_param: NeutronGeneveMaxHeaderSize}
89       step_config: |
90         include ::tripleo::profile::base::neutron::plugins::ml2