Add posibilities to set ovn_openflow_probe_interval for controller

Change-Id: I98c7b16c6051e174e515bfa9a81a3fb55267aacf
(cherry picked from commit d1331a6254)
(cherry picked from commit a5b784df19)
This commit is contained in:
Kamil Sambor 2019-09-20 08:17:04 +02:00
parent 56bcc3be96
commit 41c885cf4c
3 changed files with 46 additions and 25 deletions

View File

@ -47,18 +47,25 @@
# (optional) Set probe interval, based on user configuration, value is in ms # (optional) Set probe interval, based on user configuration, value is in ms
# Defaults to 60000 # Defaults to 60000
# #
# [*ovn_openflow_probe_interval*]
# (optional) The inactivity probe interval of the OpenFlow
# connection to the OpenvSwitch integration bridge, in
# seconds. If the value is zero, it disables the connection keepalive feature.
# If the value is nonzero, then it will be forced to a value of at least 5s.
# Defaults to 60
#
class ovn::controller( class ovn::controller(
$ovn_remote, $ovn_remote,
$ovn_encap_ip, $ovn_encap_ip,
$ovn_encap_type = 'geneve', $ovn_encap_type = 'geneve',
$ovn_bridge_mappings = [], $ovn_bridge_mappings = [],
$bridge_interface_mappings = [], $bridge_interface_mappings = [],
$hostname = $::fqdn, $hostname = $::fqdn,
$ovn_bridge = 'br-int', $ovn_bridge = 'br-int',
$enable_hw_offload = false, $enable_hw_offload = false,
$mac_table_size = 50000, $mac_table_size = 50000,
$ovn_remote_probe_interval = 60000, $ovn_remote_probe_interval = 60000,
$ovn_openflow_probe_interval = 60,
) { ) {
include ::ovn::params include ::ovn::params
include ::vswitch::ovs include ::vswitch::ovs
@ -83,12 +90,13 @@ class ovn::controller(
} }
$config_items = { $config_items = {
'external_ids:ovn-remote' => { 'value' => $ovn_remote }, 'external_ids:ovn-remote' => { 'value' => $ovn_remote },
'external_ids:ovn-encap-type' => { 'value' => $ovn_encap_type }, 'external_ids:ovn-encap-type' => { 'value' => $ovn_encap_type },
'external_ids:ovn-encap-ip' => { 'value' => $ovn_encap_ip }, 'external_ids:ovn-encap-ip' => { 'value' => $ovn_encap_ip },
'external_ids:hostname' => { 'value' => $hostname }, 'external_ids:hostname' => { 'value' => $hostname },
'external_ids:ovn-bridge' => { 'value' => $ovn_bridge }, 'external_ids:ovn-bridge' => { 'value' => $ovn_bridge },
'external_ids:ovn-remote-probe-interval' => { 'value' => "${ovn_remote_probe_interval}" }, 'external_ids:ovn-remote-probe-interval' => { 'value' => "${ovn_remote_probe_interval}" },
'external_ids:ovn-openflow-probe-interval' => { 'value' => "${ovn_openflow_probe_interval}" },
} }
if !empty($ovn_bridge_mappings) { if !empty($ovn_bridge_mappings) {

View File

@ -0,0 +1,8 @@
---
features:
- |
Added new param for puppet to set ovn_openflow_probe_interval which
is inactivity probe interval of the OpenFlow connection to the OpenvSwitch
integration bridge, in seconds. If the value is zero, it disables the connection
keepalive feature, by default this value is set on 60s.
If the value is nonzero, then it will be forced to a value of at least 5s.

View File

@ -3,16 +3,17 @@ require 'spec_helper'
describe 'ovn::controller' do describe 'ovn::controller' do
let :params do let :params do
{ :ovn_remote => 'tcp:x.x.x.x:5000', { :ovn_remote => 'tcp:x.x.x.x:5000',
:ovn_encap_type => 'geneve', :ovn_encap_type => 'geneve',
:ovn_encap_ip => '1.2.3.4', :ovn_encap_ip => '1.2.3.4',
:ovn_bridge_mappings => ['physnet-1:br-1'], :ovn_bridge_mappings => ['physnet-1:br-1'],
:ovn_bridge => 'br-int', :ovn_bridge => 'br-int',
:bridge_interface_mappings => ['br-1:eth1'], :bridge_interface_mappings => ['br-1:eth1'],
:hostname => 'server1.example.com', :hostname => 'server1.example.com',
:enable_hw_offload => false, :enable_hw_offload => false,
:mac_table_size => 20000, :mac_table_size => 20000,
:ovn_remote_probe_interval => 30000, :ovn_remote_probe_interval => 30000,
:ovn_openflow_probe_interval => 8,
} }
end end
@ -67,6 +68,10 @@ describe 'ovn::controller' do
is_expected.to contain_vs_config('external_ids:ovn-remote-probe-interval').with( is_expected.to contain_vs_config('external_ids:ovn-remote-probe-interval').with(
:value => params[:ovn_remote_probe_interval], :value => params[:ovn_remote_probe_interval],
) )
is_expected.to contain_vs_config('external_ids:ovn-openflow-probe-interval').with(
:value => params[:ovn_openflow_probe_interval],
)
end end
it 'configures bridge mappings' do it 'configures bridge mappings' do