From 90435f6a9d6e7bdbd4fb929f19cfa8e80a7f949b Mon Sep 17 00:00:00 2001
From: Jeffrey Zhang <zhang.lei.fly@gmail.com>
Date: Mon, 1 Feb 2021 16:26:39 +0800
Subject: [PATCH] Add a ovsdb_timeout variable for better configuration

ovsdb_timeout value need be increased when has lots of ports.

Change-Id: I86a8cc7b66dd262282a148f95d22c504fbe81409
Closes-Bug: #1914011
---
 ansible/roles/neutron/defaults/main.yml                        | 2 ++
 ansible/roles/neutron/templates/dhcp_agent.ini.j2              | 1 +
 ansible/roles/neutron/templates/l3_agent.ini.j2                | 1 +
 .../roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2  | 3 ++-
 ansible/roles/neutron/templates/openvswitch_agent.ini.j2       | 1 +
 5 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml
index 7e46c4326e..974f39d92b 100644
--- a/ansible/roles/neutron/defaults/main.yml
+++ b/ansible/roles/neutron/defaults/main.yml
@@ -530,6 +530,8 @@ neutron_tls_proxy_extra_volumes: "{{ neutron_extra_volumes }}"
 dhcp_agents_per_network: 2
 max_l3_agents_per_router: 3
 
+ovsdb_timeout: 10
+
 neutron_logging_debug: "{{ openstack_logging_debug }}"
 
 openstack_neutron_auth: "{{ openstack_auth }}"
diff --git a/ansible/roles/neutron/templates/dhcp_agent.ini.j2 b/ansible/roles/neutron/templates/dhcp_agent.ini.j2
index 7d470ac791..2c525a1b04 100644
--- a/ansible/roles/neutron/templates/dhcp_agent.ini.j2
+++ b/ansible/roles/neutron/templates/dhcp_agent.ini.j2
@@ -19,3 +19,4 @@ dhcp_override_mac = {{ vmware_dvs_dhcp_override_mac }}
 
 [ovs]
 ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
+ovsdb_timeout = {{ ovsdb_timeout }}
diff --git a/ansible/roles/neutron/templates/l3_agent.ini.j2 b/ansible/roles/neutron/templates/l3_agent.ini.j2
index daf6f9a11d..df5d73d89e 100644
--- a/ansible/roles/neutron/templates/l3_agent.ini.j2
+++ b/ansible/roles/neutron/templates/l3_agent.ini.j2
@@ -28,3 +28,4 @@ vpn_device_driver = {{ vpn_device_driver }}
 
 [ovs]
 ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
+ovsdb_timeout = {{ ovsdb_timeout }}
diff --git a/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2 b/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2
index 6775162116..2ffe61d269 100644
--- a/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2
+++ b/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2
@@ -10,7 +10,8 @@ log_dir = /var/log/kolla/neutron
 metadata_workers = 2
 
 [ovs]
-ovsdb_connection = tcp:127.0.0.1:6640
+ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
+ovsdb_timeout = {{ ovsdb_timeout }}
 
 [ovn]
 ovn_nb_connection = {{ ovn_nb_connection }}
diff --git a/ansible/roles/neutron/templates/openvswitch_agent.ini.j2 b/ansible/roles/neutron/templates/openvswitch_agent.ini.j2
index 851fb42e38..88834e2dea 100644
--- a/ansible/roles/neutron/templates/openvswitch_agent.ini.j2
+++ b/ansible/roles/neutron/templates/openvswitch_agent.ini.j2
@@ -19,6 +19,7 @@ bridge_mappings = {% for bridge in neutron_bridge_name.split(',') %}physnet{{ lo
 {% endif %}
 datapath_type = {{ ovs_datapath }}
 ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
+ovsdb_timeout = {{ ovsdb_timeout }}
 local_ip = {{ tunnel_interface_address }}
 {% if enable_nova_fake | bool %}
 integration_bridge = br-int-{{ item }}