diff --git a/deployment/ovn/ovn-controller-container-puppet.yaml b/deployment/ovn/ovn-controller-container-puppet.yaml index 7720154953..fc178f4ff9 100644 --- a/deployment/ovn/ovn-controller-container-puppet.yaml +++ b/deployment/ovn/ovn-controller-container-puppet.yaml @@ -80,6 +80,13 @@ parameters: description: Whether Metadata Service has to be enabled type: boolean default: true + OVNAvailabilityZone: + description: The az options to configure in ovs db. + eg. ['az-0', 'az-1', 'az-2'] + type: comma_delimited_list + default: [] + tags: + - role_specific OVNCMSOptions: description: The CMS options to configure in ovs db type: string @@ -127,6 +134,8 @@ conditions: internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} key_size_override_unset: {equals: [{get_param: ContainerOvnCertificateKeySize}, '']} enable_vlan_transparency: {equals: [{get_param: EnableVLANTransparency}, true]} + az_ovn_unset: {equals: [{get_param: OVNAvailabilityZone}, []]} + resources: @@ -143,8 +152,16 @@ resources: map_replace: - map_replace: - ovn::controller::ovn_bridge_mappings: NeutronBridgeMappings - ovn::controller::ovn_cms_options: OVNCMSOptions ovn::controller::enable_hw_offload: OvsHwOffload + ovn::controller::ovn_cms_options: + if: + - az_ovn_unset + - OVNCMSOptions + - list_join: + - '' + - - OVNCMSOptions + - ",availability-zones=" + - {get_param: OVNAvailabilityZone} - values: {get_param: [RoleParameters]} - values: NeutronBridgeMappings: {get_param: NeutronBridgeMappings} diff --git a/releasenotes/notes/OVNAvailabilityZone-bc3d44a7e11d83e5.yaml b/releasenotes/notes/OVNAvailabilityZone-bc3d44a7e11d83e5.yaml new file mode 100644 index 0000000000..0c2e617e3f --- /dev/null +++ b/releasenotes/notes/OVNAvailabilityZone-bc3d44a7e11d83e5.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Added new heat role specific param OVNAvailabilityZone to set availability-zones + for ovn. This param replace seting availability-zones throught OVNCMSOptions \ No newline at end of file