Browse Source

Add the ability to configure ovn-remote-probe-interval

This parameter sets inactive probe interval of the JSON
session from ovn-controller to the OVN SB database.
By default this it is 5s which not be sufficient in
loaded systems or during high control-plane activity spikes,
leading to unnecessary reconnections to OVSDB server.
Now it is extended by default to 1 min and it
is configurable.

Change-Id: If8684927b17fc9f7ee4cca277b8b0ca9c4d8b5e1
Partial-Bug: #1836604
(cherry picked from commit 2d401a869f)
(cherry picked from commit f68e399cf1)
changes/21/675921/1
Kamil Sambor 2 months ago
parent
commit
56bcc3be96

+ 12
- 5
manifests/controller.pp View File

@@ -42,6 +42,11 @@
42 42
 # [*mac_table_size*]
43 43
 #  Set the mac table size for the provider bridges if defined in ovn_bridge_mappings
44 44
 #  Defaults to 50000
45
+#
46
+# [*ovn_remote_probe_interval*]
47
+#  (optional) Set probe interval, based on user configuration, value is in ms
48
+#  Defaults to 60000
49
+#
45 50
 
46 51
 class ovn::controller(
47 52
   $ovn_remote,
@@ -53,6 +58,7 @@ class ovn::controller(
53 58
   $ovn_bridge                = 'br-int',
54 59
   $enable_hw_offload         = false,
55 60
   $mac_table_size            = 50000,
61
+  $ovn_remote_probe_interval = 60000,
56 62
 ) {
57 63
   include ::ovn::params
58 64
   include ::vswitch::ovs
@@ -77,11 +83,12 @@ class ovn::controller(
77 83
   }
78 84
 
79 85
   $config_items = {
80
-    'external_ids:ovn-remote'     => { 'value' => $ovn_remote },
81
-    'external_ids:ovn-encap-type' => { 'value' => $ovn_encap_type },
82
-    'external_ids:ovn-encap-ip'   => { 'value' => $ovn_encap_ip },
83
-    'external_ids:hostname'       => { 'value' => $hostname },
84
-    'external_ids:ovn-bridge'     => { 'value' => $ovn_bridge },
86
+    'external_ids:ovn-remote'                => { 'value' => $ovn_remote },
87
+    'external_ids:ovn-encap-type'            => { 'value' => $ovn_encap_type },
88
+    'external_ids:ovn-encap-ip'              => { 'value' => $ovn_encap_ip },
89
+    'external_ids:hostname'                  => { 'value' => $hostname },
90
+    'external_ids:ovn-bridge'                => { 'value' => $ovn_bridge },
91
+    'external_ids:ovn-remote-probe-interval' => { 'value' => "${ovn_remote_probe_interval}" },
85 92
   }
86 93
 
87 94
   if !empty($ovn_bridge_mappings) {

+ 8
- 0
releasenotes/notes/ovn_remote_probe_interval-b0603007d844984d.yaml View File

@@ -0,0 +1,8 @@
1
+---
2
+features:
3
+  - |
4
+    This parameter sets inactive probe interval of the JSON session
5
+    from ovn-controller to the OVN SB database. By default this it
6
+    is 5s which not be sufficient in loaded systems or during high
7
+    control-plane activity spikes, leading to unnecessary reconnections
8
+    to OVSDB server. Now it is extended by default to 1 min and it is configurable.

+ 6
- 1
spec/classes/ovn_controller_spec.rb View File

@@ -11,7 +11,8 @@ describe 'ovn::controller' do
11 11
       :bridge_interface_mappings => ['br-1:eth1'],
12 12
       :hostname                  => 'server1.example.com',
13 13
       :enable_hw_offload         => false,
14
-      :mac_table_size            => 20000
14
+      :mac_table_size            => 20000,
15
+      :ovn_remote_probe_interval => 30000,
15 16
     }
16 17
   end
17 18
 
@@ -62,6 +63,10 @@ describe 'ovn::controller' do
62 63
       is_expected.to contain_vs_config('external_ids:ovn-bridge').with(
63 64
         :value   => params[:ovn_bridge],
64 65
       )
66
+
67
+      is_expected.to contain_vs_config('external_ids:ovn-remote-probe-interval').with(
68
+        :value   => params[:ovn_remote_probe_interval],
69
+      )
65 70
     end
66 71
 
67 72
     it 'configures bridge mappings' do

Loading…
Cancel
Save