aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoramir58118 <sahahmadi96@gmail.com>2026-01-08 12:28:04 +0000
committerMichal Nasiadka <mnasiadka@gmail.com>2026-06-17 08:07:30 +0000
commit42f4a33519cddfe20c6c25ed382cef0a90c66b06 (patch)
treeafbcfb18cb785ba0db337cb53d7be86943715ec1
parent2ad59e7d1bdfbf18b4a7656c42fbc7bcfb599280 (diff)
downloadkolla-ansible-42f4a33519cddfe20c6c25ed382cef0a90c66b06.tar.gz
kolla-ansible-42f4a33519cddfe20c6c25ed382cef0a90c66b06.zip
Fix OVN SB relay port calculation for relay counts > 9
The OVN SB relay port was generated using string concatenation between the port prefix and relay group ID. When the relay count exceeded 9, this resulted in invalid port numbers such as 166410. Update the port calculation to use numeric addition instead, ensuring ports remain within the expected and valid range. Closes-Bug: #2131191 Change-Id: I4738339431483c3d38fb322c18888fe61cae1a62 Signed-off-by: amir58118 <sahahmadi96@gmail.com> Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com> (cherry picked from commit 6c2b9225d52cf2470d7ed85fa5fde833d764bb3c)
-rw-r--r--ansible/group_vars/all/ovn.yml2
-rw-r--r--ansible/roles/ovn-db/tasks/bootstrap-db.yml3
-rw-r--r--ansible/roles/ovn-db/tasks/config-relay.yml1
-rw-r--r--ansible/roles/ovn-db/templates/ovsdb-relay.json.j22
-rw-r--r--tests/templates/globals-default.j22
5 files changed, 5 insertions, 5 deletions
diff --git a/ansible/group_vars/all/ovn.yml b/ansible/group_vars/all/ovn.yml
index a11b53860..f75e9df00 100644
--- a/ansible/group_vars/all/ovn.yml
+++ b/ansible/group_vars/all/ovn.yml
@@ -8,7 +8,7 @@ ovn_sb_db_port: "6642"
ovn_sb_db_relay_count: "{{ ((groups['ovn-controller'] | length) / ovn_sb_db_relay_compute_per_relay | int) | round(0, 'ceil') | int }}"
ovn_sb_db_relay_compute_per_relay: "50"
ovn_sb_db_relay_port_prefix: "1664"
-ovn_sb_db_relay_port: "{{ ovn_sb_db_relay_port_prefix ~ ovn_sb_db_relay_client_group_id }}"
+ovn_sb_db_relay_port: "{{ (ovn_sb_db_relay_port_prefix | int) * 10 + (ovn_sb_db_relay_client_group_id | int) }}"
ovn_sb_db_relay_client_group_id: "{{ range(1, ovn_sb_db_relay_count | int + 1) | random(seed=inventory_hostname) }}"
ovn_nb_connection:
"{% for host in groups['ovn-nb-db'] %}\
diff --git a/ansible/roles/ovn-db/tasks/bootstrap-db.yml b/ansible/roles/ovn-db/tasks/bootstrap-db.yml
index cf027c592..d4ff811d7 100644
--- a/ansible/roles/ovn-db/tasks/bootstrap-db.yml
+++ b/ansible/roles/ovn-db/tasks/bootstrap-db.yml
@@ -85,8 +85,7 @@
- name: Wait for ovn-sb-db-relay
vars:
- ovn_sb_db_relay_group_id: "{{ item }}"
- ovn_sb_db_relay_port: "{{ ovn_sb_db_relay_port_prefix ~ ovn_sb_db_relay_group_id }}"
+ ovn_sb_db_relay_port: "{{ (ovn_sb_db_relay_port_prefix | int) * 10 + (item | int) }}"
ansible.builtin.wait_for:
host: "{{ api_interface_address }}"
port: "{{ ovn_sb_db_relay_port }}"
diff --git a/ansible/roles/ovn-db/tasks/config-relay.yml b/ansible/roles/ovn-db/tasks/config-relay.yml
index d8bcfbbfa..80b04984c 100644
--- a/ansible/roles/ovn-db/tasks/config-relay.yml
+++ b/ansible/roles/ovn-db/tasks/config-relay.yml
@@ -24,6 +24,7 @@
vars:
# NOTE(mnasiadka): Used in the ovn_sb_relay_command template in defaults/main.yml
ovn_sb_db_relay_group_id: "{{ item }}"
+ ovn_sb_db_relay_port: "{{ (ovn_sb_db_relay_port_prefix | int) * 10 + (item | int) }}"
ansible.builtin.template:
src: "ovsdb-relay.json.j2"
dest: "{{ node_config_directory }}/ovn-sb-db-relay-{{ item }}/ovsdb-relay.json"
diff --git a/ansible/roles/ovn-db/templates/ovsdb-relay.json.j2 b/ansible/roles/ovn-db/templates/ovsdb-relay.json.j2
index 7058ff2a8..f4cfdead0 100644
--- a/ansible/roles/ovn-db/templates/ovsdb-relay.json.j2
+++ b/ansible/roles/ovn-db/templates/ovsdb-relay.json.j2
@@ -1,7 +1,7 @@
{
"remotes": {
- "ptcp:{{ ovn_sb_db_relay_port_prefix ~ ovn_sb_db_relay_group_id }}:{{ api_interface_address | put_address_in_context('url') }}": {
+ "ptcp:{{ ovn_sb_db_relay_port }}:{{ api_interface_address | put_address_in_context('url') }}": {
"inactivity-probe": {{ ovn_sb_db_relay_passive_inactivity_probe }}
}
},
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index 0f6da316a..1a0d1a01c 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -196,7 +196,7 @@ libvirt_tls: "yes"
neutron_plugin_agent: "ovn"
neutron_ovn_distributed_fip: "yes"
neutron_enable_ovn_agent: "yes"
-ovn_sb_db_relay_count: "3"
+ovn_sb_db_relay_count: "11"
{% if not is_upgrade %}
enable_neutron_vpnaas: "yes"
{% endif %}