Add support for configuring provider drivers
Add support for configuring Octavia's load balancer provider drivers. Change-Id: I30a070b3c68d11792b499ffe315e89cb082c1929
This commit is contained in:
parent
a2aa65341e
commit
82ed79389b
@ -55,6 +55,14 @@
|
|||||||
# (optional) Run octavia-db-manage upgrade head on api nodes after installing the package.
|
# (optional) Run octavia-db-manage upgrade head on api nodes after installing the package.
|
||||||
# Defaults to false
|
# Defaults to false
|
||||||
#
|
#
|
||||||
|
# [*default_provider_driver*]
|
||||||
|
# (optional) Configure the default provider driver.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*provider_drivers*]
|
||||||
|
# (optional) Configure the loadbalancer provider drivers.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
class octavia::api (
|
class octavia::api (
|
||||||
$enabled = true,
|
$enabled = true,
|
||||||
$manage_service = true,
|
$manage_service = true,
|
||||||
@ -68,12 +76,18 @@ class octavia::api (
|
|||||||
$api_v2_enabled = $::os_service_default,
|
$api_v2_enabled = $::os_service_default,
|
||||||
$allow_tls_terminated_listeners = $::os_service_default,
|
$allow_tls_terminated_listeners = $::os_service_default,
|
||||||
$sync_db = false,
|
$sync_db = false,
|
||||||
|
$default_provider_driver = $::os_service_default,
|
||||||
|
$provider_drivers = $::os_service_default,
|
||||||
) inherits octavia::params {
|
) inherits octavia::params {
|
||||||
|
|
||||||
include ::octavia::deps
|
include ::octavia::deps
|
||||||
include ::octavia::policy
|
include ::octavia::policy
|
||||||
include ::octavia::db
|
include ::octavia::db
|
||||||
|
|
||||||
|
if !is_service_default($provider_drivers) {
|
||||||
|
validate_hash($provider_drivers)
|
||||||
|
}
|
||||||
|
|
||||||
if $auth_strategy == 'keystone' {
|
if $auth_strategy == 'keystone' {
|
||||||
include ::octavia::keystone::authtoken
|
include ::octavia::keystone::authtoken
|
||||||
}
|
}
|
||||||
@ -125,6 +139,8 @@ class octavia::api (
|
|||||||
'api_settings/api_v1_enabled': value => $api_v1_enabled;
|
'api_settings/api_v1_enabled': value => $api_v1_enabled;
|
||||||
'api_settings/api_v2_enabled': value => $api_v2_enabled;
|
'api_settings/api_v2_enabled': value => $api_v2_enabled;
|
||||||
'api_settings/allow_tls_terminated_listeners': value => $allow_tls_terminated_listeners;
|
'api_settings/allow_tls_terminated_listeners': value => $allow_tls_terminated_listeners;
|
||||||
|
'api_settings/default_provider_driver': value => $default_provider_driver;
|
||||||
|
'api_settings/enabled_provider_drivers': value => $provider_drivers;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added octavia::api::provider_drivers and
|
||||||
|
octavia::api::default_provider_driver configuration to support configuring
|
||||||
|
different load balancer drivers in octavia.
|
@ -11,6 +11,8 @@ describe 'octavia::api' do
|
|||||||
:api_v1_enabled => true,
|
:api_v1_enabled => true,
|
||||||
:api_v2_enabled => true,
|
:api_v2_enabled => true,
|
||||||
:allow_tls_terminated_listeners => false,
|
:allow_tls_terminated_listeners => false,
|
||||||
|
:default_provider_driver => 'ovn',
|
||||||
|
:provider_drivers => { 'amphora' => 'Octavia Amphora Driver', 'ovn' => 'Octavia OVN driver' }
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -49,6 +51,8 @@ describe 'octavia::api' do
|
|||||||
is_expected.to contain_octavia_config('api_settings/api_v1_enabled').with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_octavia_config('api_settings/api_v1_enabled').with_value('<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_octavia_config('api_settings/api_v2_enabled').with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_octavia_config('api_settings/api_v2_enabled').with_value('<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value('<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value('<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value('<SERVICE DEFAULT>')
|
||||||
end
|
end
|
||||||
it 'does not sync the database' do
|
it 'does not sync the database' do
|
||||||
is_expected.not_to contain_class('octavia::db::sync')
|
is_expected.not_to contain_class('octavia::db::sync')
|
||||||
@ -62,6 +66,8 @@ describe 'octavia::api' do
|
|||||||
is_expected.to contain_octavia_config('api_settings/api_v1_enabled').with_value( params[:api_v1_enabled] )
|
is_expected.to contain_octavia_config('api_settings/api_v1_enabled').with_value( params[:api_v1_enabled] )
|
||||||
is_expected.to contain_octavia_config('api_settings/api_v2_enabled').with_value( params[:api_v2_enabled] )
|
is_expected.to contain_octavia_config('api_settings/api_v2_enabled').with_value( params[:api_v2_enabled] )
|
||||||
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value( params[:allow_tls_terminated_listeners] )
|
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value( params[:allow_tls_terminated_listeners] )
|
||||||
|
is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value( params[:default_provider_driver] )
|
||||||
|
is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value( params[:provider_drivers] )
|
||||||
end
|
end
|
||||||
|
|
||||||
[{:enabled => true}, {:enabled => false}].each do |param_hash|
|
[{:enabled => true}, {:enabled => false}].each do |param_hash|
|
||||||
|
Loading…
Reference in New Issue
Block a user