Merge "Enable Neutron TaaS"

This commit is contained in:
Zuul 2024-01-23 11:37:59 +00:00 committed by Gerrit Code Review
commit 1895c4fe96
5 changed files with 55 additions and 2 deletions

View File

@ -77,6 +77,7 @@ scenario](#all-in-one).
| vitrage | X | | | | | | | vitrage | X | | | | | |
| watcher | | | | X | | | | watcher | | | | X | | |
| vpnaas | | | | X | | | | vpnaas | | | | X | | |
| taas | | | | X | | |
| bgpvpn-api | | | | X | | | | bgpvpn-api | | | | X | | |
| bgp-dr | | | | X | | | | bgp-dr | | | | X | | |
| redis | X | X | X | | | | | redis | X | X | X | | | |

View File

@ -28,14 +28,16 @@ if $facts['os']['name'] == 'Ubuntu' {
$l2gw_enabled = false $l2gw_enabled = false
# FIXME(ykarel) Disable bgp_dragent until Ubuntu python3 stein(with stein packages) jobs are ready # FIXME(ykarel) Disable bgp_dragent until Ubuntu python3 stein(with stein packages) jobs are ready
$bgp_dragent_enabled = false $bgp_dragent_enabled = false
# TODO(tkajinam): Enable this along with the other plugins # TODO(tkajinam): Enable these along with the other plugins
$vpnaas_enabled = false $vpnaas_enabled = false
$taas_enabled = false
} else { } else {
$ipv6 = true $ipv6 = true
$bgpvpn_enabled = true $bgpvpn_enabled = true
$l2gw_enabled = true $l2gw_enabled = true
$bgp_dragent_enabled = true $bgp_dragent_enabled = true
$vpnaas_enabled = true $vpnaas_enabled = true
$taas_enabled = true
} }
include openstack_integration include openstack_integration
@ -57,6 +59,7 @@ class { 'openstack_integration::glance':
} }
class { 'openstack_integration::neutron': class { 'openstack_integration::neutron':
vpnaas_enabled => $vpnaas_enabled, vpnaas_enabled => $vpnaas_enabled,
taas_enabled => $taas_enabled,
bgpvpn_enabled => $bgpvpn_enabled, bgpvpn_enabled => $bgpvpn_enabled,
l2gw_enabled => $l2gw_enabled, l2gw_enabled => $l2gw_enabled,
bgp_dragent_enabled => $bgp_dragent_enabled, bgp_dragent_enabled => $bgp_dragent_enabled,
@ -87,6 +90,7 @@ class { 'openstack_integration::tempest':
horizon => true, horizon => true,
watcher => true, watcher => true,
vpnaas => $vpnaas_enabled, vpnaas => $vpnaas_enabled,
taas => $taas_enabled,
bgpvpn => $bgpvpn_enabled, bgpvpn => $bgpvpn_enabled,
l2gw => $l2gw_enabled, l2gw => $l2gw_enabled,
l2gw_switch => 'cell08-5930-01::FortyGigE1/0/1|100', l2gw_switch => 'cell08-5930-01::FortyGigE1/0/1|100',

View File

@ -13,6 +13,10 @@
# (optional) Flag to enable VPNaaS. # (optional) Flag to enable VPNaaS.
# Defaults to false. # Defaults to false.
# #
# [*taas_enabled*]
# (optional) Flag to enable TAPaaS.
# Defaults to false.
#
# [*bgpvpn_enabled*] # [*bgpvpn_enabled*]
# (optional) Flag to enable BGPVPN API extensions. # (optional) Flag to enable BGPVPN API extensions.
# Defaults to false. # Defaults to false.
@ -37,6 +41,7 @@ class openstack_integration::neutron (
$driver = 'openvswitch', $driver = 'openvswitch',
$metering_enabled = false, $metering_enabled = false,
$vpnaas_enabled = false, $vpnaas_enabled = false,
$taas_enabled = false,
$bgpvpn_enabled = false, $bgpvpn_enabled = false,
$l2gw_enabled = false, $l2gw_enabled = false,
$bgp_dragent_enabled = false, $bgp_dragent_enabled = false,
@ -51,6 +56,10 @@ class openstack_integration::neutron (
fail('Metering agent is not supported when ovn mechanism driver is used.') fail('Metering agent is not supported when ovn mechanism driver is used.')
} }
if $driver != 'openvswitch' and $taas_enabled {
fail('TaaS is supported only when ovs mechanism driver is used.')
}
if $::openstack_integration::config::ssl { if $::openstack_integration::config::ssl {
openstack_integration::ssl_key { 'neutron': openstack_integration::ssl_key { 'neutron':
notify => Service['neutron-server'], notify => Service['neutron-server'],
@ -142,6 +151,10 @@ class openstack_integration::neutron (
true => 'vpnaas', true => 'vpnaas',
default => undef, default => undef,
} }
$taas_plugin = $taas_enabled ? {
true => 'taas',
default => undef,
}
$bgpvpn_plugin = $bgpvpn_enabled ? { $bgpvpn_plugin = $bgpvpn_enabled ? {
true => 'bgpvpn', true => 'bgpvpn',
default => undef, default => undef,
@ -175,6 +188,7 @@ class openstack_integration::neutron (
'router', 'qos', 'trunk', 'router', 'qos', 'trunk',
$metering_plugin, $metering_plugin,
$vpaaas_plugin, $vpaaas_plugin,
$taas_plugin,
$bgpvpn_plugin, $bgpvpn_plugin,
$l2gw_plugin, $l2gw_plugin,
$bgp_dr_plugin $bgp_dr_plugin
@ -286,6 +300,11 @@ class openstack_integration::neutron (
case $driver { case $driver {
'openvswitch': { 'openvswitch': {
$agent_extensions = $taas_enabled ? {
true => ['taas'],
default => $facts['os_service_default'],
}
class { 'neutron::agents::ml2::ovs': class { 'neutron::agents::ml2::ovs':
local_ip => $::openstack_integration::config::host, local_ip => $::openstack_integration::config::host,
tunnel_types => ['vxlan'], tunnel_types => ['vxlan'],
@ -293,6 +312,7 @@ class openstack_integration::neutron (
manage_vswitch => false, manage_vswitch => false,
firewall_driver => 'iptables_hybrid', firewall_driver => 'iptables_hybrid',
of_listen_address => $::openstack_integration::config::host, of_listen_address => $::openstack_integration::config::host,
extensions => $agent_extensions,
} }
} }
'ovn': { 'ovn': {
@ -411,6 +431,21 @@ class openstack_integration::neutron (
vpn_device_driver => $vpn_device_driver, vpn_device_driver => $vpn_device_driver,
} }
} }
if $taas_enabled {
class { 'neutron::agents::taas': }
class { 'neutron::services::taas': }
if $facts['os']['family'] == 'RedHat' {
# NOTE(tkajinam): Remove this once bz 2259076 is fixed
# https://bugzilla.redhat.com/show_bug.cgi?id=2259076
Exec { 'fix-taas-synlink':
command => 'mv /usr/share/neutron/server/taas_plugin.ini /usr/share/neutron/server/taas_plugin.conf',
unless => 'test -e /usr/share/neutron/server/taas_plugin.conf',
path => ['/bin', '/usr/bin'],
}
Anchor['neutron::config::begin'] -> Anchor['neutron::config::end']
}
}
} }
if $baremetal_enabled { if $baremetal_enabled {

View File

@ -112,6 +112,10 @@
# (optional) Define if Neutron VPNaaS needs to be tested. # (optional) Define if Neutron VPNaaS needs to be tested.
# Default to false. # Default to false.
# #
# [*taas*]
# (optional) Define if Neutron TaaS needs to be tested.
# Default to false.
#
# [*watcher*] # [*watcher*]
# (optional) Define if Watcher needs to be tested. # (optional) Define if Watcher needs to be tested.
# Default to false. # Default to false.
@ -185,6 +189,7 @@ class openstack_integration::tempest (
$watcher = false, $watcher = false,
$vitrage = false, $vitrage = false,
$vpnaas = false, $vpnaas = false,
$taas = false,
$zaqar = false, $zaqar = false,
$reseller_admin_role = 'ResellerAdmin', $reseller_admin_role = 'ResellerAdmin',
$attach_encrypted_volume = false, $attach_encrypted_volume = false,
@ -264,6 +269,10 @@ class openstack_integration::tempest (
true => ['vpnaas'], true => ['vpnaas'],
default => [], default => [],
} }
$neutron_taas_extensions = $taas ? {
true => ['taas', 'taas-vlan-filter'],
default => [],
}
$neutron_api_extensions_real = sort( $neutron_api_extensions_real = sort(
$neutron_base_extensions + $neutron_base_extensions +
@ -272,7 +281,8 @@ class openstack_integration::tempest (
$neutron_metering_extensions + $neutron_metering_extensions +
$neutron_l2gw_extensions + $neutron_l2gw_extensions +
$neutron_bgpvpn_extensions + $neutron_bgpvpn_extensions +
$neutron_vpnaas_extensions $neutron_vpnaas_extensions +
$neutron_taas_extensions
) )
} }

View File

@ -324,6 +324,9 @@ echo "TestEncryptedCinderVolumes" >> /tmp/openstack/tempest/test-include-list.tx
# Mistral # Mistral
echo "test_create_and_delete_workflow" >> /tmp/openstack/tempest/test-include-list.txt echo "test_create_and_delete_workflow" >> /tmp/openstack/tempest/test-include-list.txt
# TaaS
echo "test_create_tap_service_and_flow" >> /tmp/openstack/tempest/test-include-list.txt
# BGPVPN # BGPVPN
echo "test_create_bgpvpn" >> /tmp/openstack/tempest/test-include-list.txt echo "test_create_bgpvpn" >> /tmp/openstack/tempest/test-include-list.txt