Neutron: Add more validation for supported conbimations

Some plugins are not supported with ovn mechanism driver. This adds
a few more validations to reject unsupported plugins when ovn is used.

Change-Id: I9e9c309c9afc95d2fdb2d8cd624b35e84c2dbefb
This commit is contained in:
Takashi Kajinami 2024-01-25 00:41:46 +09:00
parent 63a65da0f4
commit 2eb5714adb

View File

@ -52,8 +52,22 @@ class openstack_integration::neutron (
include openstack_integration::config
include openstack_integration::params
if $driver == 'ovn' and $metering_enabled {
fail('Metering agent is not supported when ovn mechanism driver is used.')
if $driver == 'ovn' {
if $metering_enabled {
fail('Metering agent is not supported when ovn mechanism driver is used.')
}
if $vpnaas_enabled {
fail('VPNaaS is not supported when ovn mechanism driver is used.')
}
if $bgpvpn_enabled {
fail('BGP VPN is not supported when ovn mechanism driver is used.')
}
if $l2gw_enabled {
fail('L2GW is not supported when ovn mechanism driver is used.')
}
if $bgp_dragent_enabled {
fail('BGP dragent is not supported when ovn mechanism driver is used.')
}
}
if $driver != 'openvswitch' and $taas_enabled {
@ -411,6 +425,7 @@ class openstack_integration::neutron (
}
class { 'neutron::agents::vpnaas':
vpn_device_driver => $vpn_device_driver,
interface_driver => $driver,
}
}
if $taas_enabled {
@ -426,6 +441,16 @@ class openstack_integration::neutron (
}
class { 'neutron::agents::l2gw': }
}
if $bgpvpn_enabled {
class {'neutron::services::bgpvpn':
service_providers => 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default'
}
}
if $bgp_dragent_enabled {
class {'neutron::agents::bgp_dragent':
bgp_router_id => '127.0.0.1'
}
}
}
if $baremetal_enabled {
@ -451,14 +476,4 @@ class openstack_integration::neutron (
auth_url => $::openstack_integration::config::keystone_admin_uri,
password => 'a_big_secret',
}
if $bgpvpn_enabled {
class {'neutron::services::bgpvpn':
service_providers => 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default'
}
}
if $bgp_dragent_enabled {
class {'neutron::agents::bgp_dragent':
bgp_router_id => '127.0.0.1'
}
}
}