Switch octavia to oslo
The db, policy and logging options are configured using puppet oslo module. Additional changes: * add dependencies and version of oslo package in metadata.json file * update related unit test * remove useless parameters Change-Id: Id252d6043daefb38e934df964755ac6b2efb44ff
This commit is contained in:
parent
70f92e590e
commit
5e3f167eb4
@ -43,8 +43,6 @@ class octavia::db (
|
||||
$database_max_overflow = $::os_service_default,
|
||||
) {
|
||||
|
||||
include ::octavia::params
|
||||
|
||||
$database_connection_real = pick($::octavia::database_connection, $database_connection)
|
||||
$database_idle_timeout_real = pick($::octavia::database_idle_timeout, $database_idle_timeout)
|
||||
$database_min_pool_size_real = pick($::octavia::database_min_pool_size, $database_min_pool_size)
|
||||
@ -56,44 +54,14 @@ class octavia::db (
|
||||
validate_re($database_connection_real,
|
||||
'^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?')
|
||||
|
||||
case $database_connection_real {
|
||||
/^mysql(\+pymysql)?:\/\//: {
|
||||
require 'mysql::bindings'
|
||||
require 'mysql::bindings::python'
|
||||
if $database_connection_real =~ /^mysql\+pymysql/ {
|
||||
$backend_package = $::octavia::params::pymysql_package_name
|
||||
} else {
|
||||
$backend_package = false
|
||||
}
|
||||
}
|
||||
/^postgresql:\/\//: {
|
||||
$backend_package = false
|
||||
require 'postgresql::lib::python'
|
||||
}
|
||||
/^sqlite:\/\//: {
|
||||
$backend_package = $::octavia::params::sqlite_package_name
|
||||
}
|
||||
default: {
|
||||
fail('Unsupported backend configured')
|
||||
}
|
||||
}
|
||||
|
||||
if $backend_package and !defined(Package[$backend_package]) {
|
||||
package {'octavia-backend-package':
|
||||
ensure => present,
|
||||
name => $backend_package,
|
||||
tag => 'openstack',
|
||||
}
|
||||
}
|
||||
|
||||
octavia_config {
|
||||
'database/connection': value => $database_connection_real, secret => true;
|
||||
'database/idle_timeout': value => $database_idle_timeout_real;
|
||||
'database/min_pool_size': value => $database_min_pool_size_real;
|
||||
'database/max_retries': value => $database_max_retries_real;
|
||||
'database/retry_interval': value => $database_retry_interval_real;
|
||||
'database/max_pool_size': value => $database_max_pool_size_real;
|
||||
'database/max_overflow': value => $database_max_overflow_real;
|
||||
oslo::db { 'octavia_config':
|
||||
connection => $database_connection_real,
|
||||
idle_timeout => $database_idle_timeout_real,
|
||||
min_pool_size => $database_min_pool_size_real,
|
||||
max_pool_size => $database_max_pool_size_real,
|
||||
max_retries => $database_max_retries_real,
|
||||
retry_interval => $database_retry_interval_real,
|
||||
max_overflow => $database_max_overflow_real,
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -113,31 +113,24 @@ class octavia::logging(
|
||||
$log_date_format = $::os_service_default,
|
||||
) {
|
||||
|
||||
|
||||
if is_service_default($default_log_levels) {
|
||||
$default_log_levels_real = $default_log_levels
|
||||
} else {
|
||||
$default_log_levels_real = join(sort(join_keys_to_values($default_log_levels, '=')), ',')
|
||||
}
|
||||
|
||||
octavia_config {
|
||||
'DEFAULT/use_syslog' : value => $use_syslog;
|
||||
'DEFAULT/use_stderr' : value => $use_stderr;
|
||||
'DEFAULT/syslog_log_facility' : value => $log_facility;
|
||||
'DEFAULT/log_dir' : value => $log_dir;
|
||||
'DEFAULT/log_file': value => $log_file;
|
||||
'DEFAULT/debug' : value => $debug;
|
||||
'DEFAULT/default_log_levels' : value => $default_log_levels_real;
|
||||
'DEFAULT/logging_context_format_string' : value => $logging_context_format_string;
|
||||
'DEFAULT/logging_default_format_string' : value => $logging_default_format_string;
|
||||
'DEFAULT/logging_debug_format_suffix' : value => $logging_debug_format_suffix;
|
||||
'DEFAULT/logging_exception_prefix' : value => $logging_exception_prefix;
|
||||
'DEFAULT/log_config_append' : value => $log_config_append;
|
||||
'DEFAULT/publish_errors' : value => $publish_errors;
|
||||
'DEFAULT/fatal_deprecations' : value => $fatal_deprecations;
|
||||
'DEFAULT/instance_format' : value => $instance_format;
|
||||
'DEFAULT/instance_uuid_format' : value => $instance_uuid_format;
|
||||
'DEFAULT/log_date_format' : value => $log_date_format;
|
||||
oslo::log { 'octavia_config':
|
||||
debug => $debug,
|
||||
use_syslog => $use_syslog,
|
||||
use_stderr => $use_stderr,
|
||||
log_dir => $log_dir,
|
||||
log_file => $log_file,
|
||||
syslog_log_facility => $log_facility,
|
||||
logging_context_format_string => $logging_context_format_string,
|
||||
logging_default_format_string => $logging_default_format_string,
|
||||
logging_debug_format_suffix => $logging_debug_format_suffix,
|
||||
logging_exception_prefix => $logging_exception_prefix,
|
||||
log_config_append => $log_config_append,
|
||||
default_log_levels => $default_log_levels,
|
||||
publish_errors => $publish_errors,
|
||||
fatal_deprecations => $fatal_deprecations,
|
||||
instance_format => $instance_format,
|
||||
instance_uuid_format => $instance_uuid_format,
|
||||
log_date_format => $log_date_format,
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,12 +4,8 @@ class octavia::params {
|
||||
|
||||
case $::osfamily {
|
||||
'RedHat': {
|
||||
$sqlite_package_name = undef
|
||||
$pymysql_package_name = undef
|
||||
}
|
||||
'Debian': {
|
||||
$sqlite_package_name = 'python-pysqlite2'
|
||||
$pymysql_package_name = 'python-pymysql'
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily: ${::osfamily} operatingsystem")
|
||||
|
@ -36,4 +36,5 @@ class octavia::policy (
|
||||
|
||||
create_resources('openstacklib::policy::base', $policies)
|
||||
|
||||
oslo::policy { 'octavia_config': policy_file => $policy_path }
|
||||
}
|
||||
|
@ -29,6 +29,7 @@
|
||||
"dependencies": [
|
||||
{ "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" },
|
||||
{ "name": "puppetlabs/stdlib", "version_requirement": ">= 4.2.0 <5.0.0" },
|
||||
{ "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" }
|
||||
{ "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" },
|
||||
{ "name": "openstack/oslo", "version_requirement": "<9.0.0" }
|
||||
]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ describe 'octavia::db' do
|
||||
|
||||
shared_examples 'octavia::db' do
|
||||
context 'with default parameters' do
|
||||
it { is_expected.to contain_octavia_config('database/connection').with_value('sqlite:////var/lib/octavia/octavia.sqlite') }
|
||||
it { is_expected.to contain_octavia_config('database/connection').with_value('sqlite:////var/lib/octavia/octavia.sqlite').with_secret(true) }
|
||||
it { is_expected.to contain_octavia_config('database/idle_timeout').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_octavia_config('database/min_pool_size').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_octavia_config('database/max_retries').with_value('<SERVICE DEFAULT>') }
|
||||
@ -25,7 +25,7 @@ describe 'octavia::db' do
|
||||
}
|
||||
end
|
||||
|
||||
it { is_expected.to contain_octavia_config('database/connection').with_value('mysql+pymysql://octavia:octavia@localhost/octavia') }
|
||||
it { is_expected.to contain_octavia_config('database/connection').with_value('mysql+pymysql://octavia:octavia@localhost/octavia').with_secret(true) }
|
||||
it { is_expected.to contain_octavia_config('database/idle_timeout').with_value('3601') }
|
||||
it { is_expected.to contain_octavia_config('database/min_pool_size').with_value('2') }
|
||||
it { is_expected.to contain_octavia_config('database/max_retries').with_value('11') }
|
||||
@ -88,7 +88,7 @@ describe 'octavia::db' do
|
||||
end
|
||||
|
||||
it 'install the proper backend package' do
|
||||
is_expected.to contain_package('octavia-backend-package').with(
|
||||
is_expected.to contain_package('db_backend_package').with(
|
||||
:ensure => 'present',
|
||||
:name => 'python-pymysql',
|
||||
:tag => 'openstack'
|
||||
@ -113,7 +113,7 @@ describe 'octavia::db' do
|
||||
end
|
||||
|
||||
it 'install the proper backend package' do
|
||||
is_expected.not_to contain_package('octavia-backend-package')
|
||||
is_expected.not_to contain_package('db_backend_package')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -20,6 +20,7 @@ describe 'octavia::policy' do
|
||||
:key => 'context_is_admin',
|
||||
:value => 'foo:bar'
|
||||
})
|
||||
is_expected.to contain_octavia_config('oslo_policy/policy_file').with_value('/etc/octavia/policy.json')
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user