From c8daec6976376694aaf04adac052e414ae76d043 Mon Sep 17 00:00:00 2001 From: Kamil Sambor Date: Tue, 13 Apr 2021 10:42:22 +0200 Subject: [PATCH] Add OVNAvailabilityZone to improve UX Currently to set az for ovn, user need to set OVNCMSOptions with value: "enable-chassis-as-gw,availability-zones=az-0:az-1:az-2", which is not very good ux. Adding new param OVNAvailabilityZone will improve ux and improve configuration redabilities Closes-Bug: #1923585 Change-Id: I90932c2445eda2cd0d6e661b561ce86a87dcdec2 (cherry picked from commit 1ddef85c91b8fb981689c34177a67b6b9a42797b) --- .../ovn/ovn-controller-container-puppet.yaml | 19 ++++++++++++++++++- .../OVNAvailabilityZone-bc3d44a7e11d83e5.yaml | 5 +++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/OVNAvailabilityZone-bc3d44a7e11d83e5.yaml 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