[ML2 OVN] Add disable_ovn_dhcp_for_baremetal_ports parameter

This parameter can be used to disable OVN's DHCP when used with
baremetal ports.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/840316
Related-Bug: #1971431
Change-Id: If38730c5757bdaa6c19ece02c05106f191b91048
This commit is contained in:
Miro Tomaska 2022-07-19 22:07:52 -05:00
parent 9490e6a21e
commit 7233388ddd
3 changed files with 92 additions and 75 deletions

View File

@ -79,6 +79,11 @@
# Type: boolean
# Defaults to $::os_service_default
#
# [*disable_ovn_dhcp_for_baremetal_ports*]
# (optional) Whether to disable built-in DHCP for baremetal ports.
# Type: boolean
# Defaults to $::os_service_default
#
# [*dns_servers*]
# (optional) List of dns servers which will be as forwarders
# if a subnet's dns_nameservers is empty.
@ -133,6 +138,7 @@ class neutron::plugins::ml2::ovn(
$neutron_sync_mode = $::os_service_default,
$ovn_metadata_enabled = $::os_service_default,
$dvr_enabled = $::os_service_default,
$disable_ovn_dhcp_for_baremetal_ports = $::os_service_default,
$dns_servers = $::os_service_default,
$vhostuser_socket_dir = $::os_service_default,
$ovn_emit_need_to_frag = $::os_service_default,
@ -162,7 +168,8 @@ class neutron::plugins::ml2::ovn(
'ovn/ovsdb_probe_interval' : value => $ovsdb_probe_interval;
'ovn/neutron_sync_mode' : value => $neutron_sync_mode;
'ovn/ovn_metadata_enabled' : value => $ovn_metadata_enabled;
'ovn/enable_distributed_floating_ip': value => $dvr_enabled;
'ovn/enable_distributed_floating_ip' : value => $dvr_enabled;
'ovn/disable_ovn_dhcp_for_baremetal_ports': value => $disable_ovn_dhcp_for_baremetal_ports;
'ovn/dns_servers' : value => join(any2array($dns_servers), ',');
'ovn/vhost_sock_dir' : value => $vhostuser_socket_dir;
'ovn/ovn_emit_need_to_frag' : value => $ovn_emit_need_to_frag;

View File

@ -0,0 +1,6 @@
---
features:
- |
Add ``disable_ovn_dhcp_for_baremetal_ports`` parameter to
``neutron::plugins::ml2::ovn`` class which allows disabling
OVN's built-in DHCP for baremetal ports.

View File

@ -24,6 +24,7 @@ describe 'neutron::plugins::ml2::ovn' do
:ovsdb_probe_interval => '<SERVICE DEFAULT>',
:neutron_sync_mode => '<SERVICE DEFAULT>',
:dvr_enabled => '<SERVICE DEFAULT>',
:disable_ovn_dhcp_for_baremetal_ports => '<SERVICE DEFAULT>',
:dns_servers => '<SERVICE DEFAULT>',
:vhostuser_socket_dir => '<SERVICE DEFAULT>',
:ovn_emit_need_to_frag => '<SERVICE DEFAULT>',
@ -58,6 +59,7 @@ describe 'neutron::plugins::ml2::ovn' do
should contain_neutron_plugin_ml2('ovn/ovsdb_probe_interval').with_value(p[:ovsdb_probe_interval])
should contain_neutron_plugin_ml2('ovn/neutron_sync_mode').with_value(p[:neutron_sync_mode])
should contain_neutron_plugin_ml2('ovn/enable_distributed_floating_ip').with_value(p[:dvr_enabled])
should contain_neutron_plugin_ml2('ovn/disable_ovn_dhcp_for_baremetal_ports').with_value(p[:disable_ovn_dhcp_for_baremetal_ports])
should contain_neutron_plugin_ml2('ovn/dns_servers').with_value(p[:dns_servers])
should contain_neutron_plugin_ml2('ovn/vhost_sock_dir').with_value(p[:vhostuser_socket_dir])
should contain_neutron_plugin_ml2('ovn/ovn_emit_need_to_frag').with_value(p[:ovn_emit_need_to_frag])
@ -83,6 +85,7 @@ describe 'neutron::plugins::ml2::ovn' do
:ovsdb_probe_interval => 60000,
:neutron_sync_mode => 'log',
:dvr_enabled => false,
:disable_ovn_dhcp_for_baremetal_ports => false,
:dns_servers => '8.8.8.8,10.10.10.10',
:ovn_emit_need_to_frag => false,
}
@ -102,6 +105,7 @@ describe 'neutron::plugins::ml2::ovn' do
should contain_neutron_plugin_ml2('ovn/ovsdb_probe_interval').with_value(p[:ovsdb_probe_interval])
should contain_neutron_plugin_ml2('ovn/neutron_sync_mode').with_value(p[:neutron_sync_mode])
should contain_neutron_plugin_ml2('ovn/enable_distributed_floating_ip').with_value(p[:dvr_enabled])
should contain_neutron_plugin_ml2('ovn/disable_ovn_dhcp_for_baremetal_ports').with_value(p[:disable_ovn_dhcp_for_baremetal_ports])
should contain_neutron_plugin_ml2('ovn/dns_servers').with_value(p[:dns_servers])
should contain_neutron_plugin_ml2('ovn/vhost_sock_dir').with_value(p[:vhostuser_socket_dir])
should contain_neutron_plugin_ml2('ovn/ovn_emit_need_to_frag').with_value(p[:ovn_emit_need_to_frag])