Update Sahara for using puppet-oslo
This commit switches using of oslo options to a puppet-oslo module: * oslo messaging notifications; * oslo messaging rabbitmq; * oslo log; * oslo db; * oslo policy; Change-Id: I63754d63f00c01737031b2fc713563681c269a60
This commit is contained in:
parent
095c88aa79
commit
0008bc5f89
@ -43,8 +43,6 @@ class sahara::db (
|
||||
$database_max_overflow = $::os_service_default,
|
||||
) {
|
||||
|
||||
include ::sahara::params
|
||||
|
||||
# NOTE(degorenko): In order to keep backward compatibility we rely on the pick function
|
||||
# to use sahara::<myparam> if sahara::db::<myparam> isn't specified.
|
||||
$database_connection_real = pick($::sahara::database_connection, $database_connection)
|
||||
@ -58,41 +56,13 @@ class sahara::db (
|
||||
validate_re($database_connection_real,
|
||||
'^(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 = $::sahara::params::pymysql_package_name
|
||||
} else {
|
||||
$backend_package = false
|
||||
}
|
||||
}
|
||||
/^postgresql:\/\//: {
|
||||
$backend_package = false
|
||||
require postgresql::lib::python
|
||||
}
|
||||
default: {
|
||||
fail('Unsupported db backend configured')
|
||||
}
|
||||
oslo::db { 'sahara_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,
|
||||
}
|
||||
|
||||
if $backend_package and !defined(Package[$backend_package]) {
|
||||
package {'sahara-backend-package':
|
||||
ensure => present,
|
||||
name => $backend_package,
|
||||
tag => 'openstack',
|
||||
}
|
||||
}
|
||||
|
||||
sahara_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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -390,37 +390,25 @@ class sahara(
|
||||
}
|
||||
|
||||
if $rpc_backend == 'rabbit' or is_service_default($rpc_backend) {
|
||||
if ! is_service_default($rabbit_hosts) and $rabbit_hosts {
|
||||
sahara_config {
|
||||
'oslo_messaging_rabbit/rabbit_hosts': value => join(any2array($rabbit_hosts), ',');
|
||||
'oslo_messaging_rabbit/rabbit_ha_queues': value => true;
|
||||
}
|
||||
} else {
|
||||
sahara_config {
|
||||
'oslo_messaging_rabbit/rabbit_host': value => $rabbit_host;
|
||||
'oslo_messaging_rabbit/rabbit_port': value => $rabbit_port;
|
||||
'oslo_messaging_rabbit/rabbit_ha_queues': value => $rabbit_ha_queues;
|
||||
'oslo_messaging_rabbit/rabbit_hosts': ensure => absent;
|
||||
}
|
||||
}
|
||||
sahara_config {
|
||||
'DEFAULT/rpc_backend': value => 'rabbit';
|
||||
'oslo_messaging_rabbit/amqp_durable_queues': value => $amqp_durable_queues;
|
||||
'oslo_messaging_rabbit/rabbit_use_ssl': value => $rabbit_use_ssl;
|
||||
'oslo_messaging_rabbit/rabbit_userid': value => $rabbit_userid;
|
||||
'oslo_messaging_rabbit/rabbit_password':
|
||||
value => $rabbit_password,
|
||||
secret => true;
|
||||
'oslo_messaging_rabbit/rabbit_login_method': value => $rabbit_login_method;
|
||||
'oslo_messaging_rabbit/rabbit_virtual_host': value => $rabbit_virtual_host;
|
||||
'oslo_messaging_rabbit/rabbit_retry_interval': value => $rabbit_retry_interval;
|
||||
'oslo_messaging_rabbit/rabbit_retry_backoff': value => $rabbit_retry_backoff;
|
||||
'oslo_messaging_rabbit/rabbit_max_retries': value => $rabbit_max_retries;
|
||||
'oslo_messaging_rabbit/kombu_ssl_ca_certs': value => $kombu_ssl_ca_certs;
|
||||
'oslo_messaging_rabbit/kombu_ssl_certfile': value => $kombu_ssl_certfile;
|
||||
'oslo_messaging_rabbit/kombu_ssl_keyfile': value => $kombu_ssl_keyfile;
|
||||
'oslo_messaging_rabbit/kombu_ssl_version': value => $kombu_ssl_version;
|
||||
'oslo_messaging_rabbit/kombu_reconnect_delay': value => $kombu_reconnect_delay;
|
||||
oslo::messaging::rabbit { 'sahara_config':
|
||||
rabbit_userid => $rabbit_userid,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_virtual_host => $rabbit_virtual_host,
|
||||
rabbit_host => $rabbit_host,
|
||||
rabbit_port => $rabbit_port,
|
||||
rabbit_hosts => $rabbit_hosts,
|
||||
rabbit_ha_queues => $rabbit_ha_queues,
|
||||
rabbit_use_ssl => $rabbit_use_ssl,
|
||||
kombu_reconnect_delay => $kombu_reconnect_delay,
|
||||
kombu_ssl_version => $kombu_ssl_version,
|
||||
kombu_ssl_keyfile => $kombu_ssl_keyfile,
|
||||
kombu_ssl_certfile => $kombu_ssl_certfile,
|
||||
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
|
||||
amqp_durable_queues => $amqp_durable_queues,
|
||||
rabbit_login_method => $rabbit_login_method,
|
||||
rabbit_retry_interval => $rabbit_retry_interval,
|
||||
rabbit_retry_backoff => $rabbit_retry_backoff,
|
||||
rabbit_max_retries => $rabbit_max_retries,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -119,29 +119,23 @@ class sahara::logging(
|
||||
$verbose_real = pick($::sahara::verbose, $verbose)
|
||||
$debug_real = pick($::sahara::debug, $debug)
|
||||
|
||||
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, '=')), ',')
|
||||
}
|
||||
|
||||
sahara_config {
|
||||
'DEFAULT/debug': value => $debug_real;
|
||||
'DEFAULT/verbose': value => $verbose_real;
|
||||
'DEFAULT/use_stderr': value => $use_stderr_real;
|
||||
'DEFAULT/use_syslog': value => $use_syslog_real;
|
||||
'DEFAULT/log_dir': value => $log_dir_real;
|
||||
'DEFAULT/syslog_log_facility': value => $log_facility_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/default_log_levels': value => $default_log_levels_real;
|
||||
'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 { 'sahara_config':
|
||||
debug => $debug_real,
|
||||
verbose => $verbose_real,
|
||||
use_syslog => $use_syslog_real,
|
||||
use_stderr => $use_stderr_real,
|
||||
log_dir => $log_dir_real,
|
||||
syslog_log_facility => $log_facility_real,
|
||||
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,
|
||||
log_date_format => $log_date_format,
|
||||
instance_format => $instance_format,
|
||||
instance_uuid_format => $instance_uuid_format,
|
||||
}
|
||||
}
|
||||
|
@ -33,12 +33,18 @@ class sahara::notify (
|
||||
$notification_level = $::os_service_default,
|
||||
) {
|
||||
|
||||
oslo::messaging::notifications { 'sahara_config':
|
||||
driver => $notification_driver,
|
||||
topics => $notification_topics,
|
||||
}
|
||||
|
||||
oslo::messaging::default { 'sahara_config':
|
||||
control_exchange => $control_exchange
|
||||
}
|
||||
|
||||
sahara_config {
|
||||
'DEFAULT/control_exchange': value => $control_exchange;
|
||||
'DEFAULT/enable_notifications': value => $enable_notifications;
|
||||
'DEFAULT/notification_driver': value => $notification_driver;
|
||||
'DEFAULT/notification_topics': value => $notification_topics;
|
||||
'DEFAULT/notification_level': value => $notification_level;
|
||||
'oslo_messaging_notifications/enable': value => $enable_notifications;
|
||||
'oslo_messaging_notifications/level': value => $notification_level;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ class sahara::params {
|
||||
$all_service_name = 'openstack-sahara-all'
|
||||
$api_service_name = 'openstack-sahara-api'
|
||||
$engine_service_name = 'openstack-sahara-engine'
|
||||
$pymysql_package_name = undef
|
||||
}
|
||||
'Debian': {
|
||||
$common_package_name = 'sahara-common'
|
||||
@ -24,7 +23,6 @@ class sahara::params {
|
||||
$all_service_name = 'sahara'
|
||||
$api_service_name = 'sahara-api'
|
||||
$engine_service_name = 'sahara-engine'
|
||||
$pymysql_package_name = 'python-pymysql'
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily: ${::osfamily} operatingsystem: ${::operatingsystem}")
|
||||
|
@ -36,4 +36,6 @@ class sahara::policy (
|
||||
|
||||
create_resources('openstacklib::policy::base', $policies)
|
||||
|
||||
oslo::policy { 'sahara_config': policy_file => $policy_path }
|
||||
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
{ "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" },
|
||||
{ "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" },
|
||||
{ "name": "puppetlabs/postgresql", "version_requirement": ">=3.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
releasenotes/notes/switch_to_oslo-4ebb3a914d2d8b4e.yaml
Normal file
4
releasenotes/notes/switch_to_oslo-4ebb3a914d2d8b4e.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- Switch to puppet-oslo resource usage (instead of
|
||||
manual configuration file editing).
|
@ -85,7 +85,7 @@ describe 'sahara::db' do
|
||||
{ :database_connection => 'mysql+pymysql://sahara:sahara@localhost/sahara' }
|
||||
end
|
||||
|
||||
it { is_expected.to contain_package('sahara-backend-package').with({ :ensure => 'present', :name => 'python-pymysql' }) }
|
||||
it { is_expected.to contain_package('db_backend_package').with({ :ensure => 'present', :name => 'python-pymysql' }) }
|
||||
end
|
||||
|
||||
end
|
||||
@ -104,7 +104,7 @@ describe 'sahara::db' do
|
||||
{ :database_connection => 'mysql+pymysql://sahara:sahara@localhost/sahara' }
|
||||
end
|
||||
|
||||
it { is_expected.not_to contain_package('sahara-backend-package') }
|
||||
it { is_expected.not_to contain_package('db_backend_package') }
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -76,7 +76,7 @@ describe 'sahara' do
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_ensure('absent') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
|
||||
end
|
||||
|
||||
context 'when passing params' do
|
||||
@ -97,14 +97,14 @@ describe 'sahara' do
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('true') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_ensure('absent') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
|
||||
end
|
||||
|
||||
context 'with rabbit ssl cert parameters' do
|
||||
before do
|
||||
params.merge!({
|
||||
:rabbit_password => 'pass',
|
||||
:rabbit_use_ssl => 'true',
|
||||
:rabbit_use_ssl => true,
|
||||
:kombu_ssl_ca_certs => '/etc/ca.cert',
|
||||
:kombu_ssl_certfile => '/etc/certfile',
|
||||
:kombu_ssl_keyfile => '/etc/key',
|
||||
@ -149,7 +149,7 @@ describe 'sahara' do
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('localhost2') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('5673') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_ensure('absent') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
|
||||
end
|
||||
|
||||
context 'when passing params for multiple rabbit hosts' do
|
||||
@ -164,8 +164,8 @@ describe 'sahara' do
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_userid').with_value('guest3') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_hosts').with_value('nonlocalhost3:5673,nonlocalhost4:5673') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') }
|
||||
it { is_expected.to_not contain_sahara_config('oslo_messaging_rabbit/rabbit_port') }
|
||||
it { is_expected.to_not contain_sahara_config('oslo_messaging_rabbit/rabbit_host') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_port').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_rabbit/rabbit_host').with_value('<SERVICE DEFAULT>') }
|
||||
end
|
||||
end
|
||||
|
||||
@ -212,7 +212,7 @@ describe 'sahara' do
|
||||
context 'with ssl' do
|
||||
let :params do
|
||||
{
|
||||
:use_ssl => 'true',
|
||||
:use_ssl => true,
|
||||
:ca_file => '/tmp/ca_file',
|
||||
:cert_file => '/tmp/cert_file',
|
||||
:key_file => '/tmp/key_file',
|
||||
@ -226,7 +226,7 @@ describe 'sahara' do
|
||||
context 'with ssl but without cert_file' do
|
||||
let :params do
|
||||
{
|
||||
:use_ssl => 'true',
|
||||
:use_ssl => true,
|
||||
}
|
||||
end
|
||||
it_raises 'a Puppet::Error', /The cert_file parameter is required when use_ssl is set to true/
|
||||
@ -235,7 +235,7 @@ describe 'sahara' do
|
||||
context 'with ssl but without key_file' do
|
||||
let :params do
|
||||
{
|
||||
:use_ssl => 'true',
|
||||
:use_ssl => true,
|
||||
:cert_file => '/tmp/cert_file',
|
||||
}
|
||||
end
|
||||
|
@ -8,10 +8,10 @@ describe 'sahara::notify' do
|
||||
|
||||
describe 'when defaults with notify enabled' do
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/control_exchange').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/enable_notifications').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_driver').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_topics').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_level').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/enable').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/driver').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/topics').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/level').with_value('<SERVICE DEFAULT>') }
|
||||
end
|
||||
|
||||
describe 'when passing params' do
|
||||
@ -24,10 +24,10 @@ describe 'sahara::notify' do
|
||||
:notification_level => 'INFO',
|
||||
}
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/control_exchange').with_value('openstack') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_driver').with_value('messaging') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/enable_notifications').with_value('true') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_topics').with_value('notifications') }
|
||||
it { is_expected.to contain_sahara_config('DEFAULT/notification_level').with_value('INFO') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/driver').with_value('messaging') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/enable').with_value('true') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/topics').with_value('notifications') }
|
||||
it { is_expected.to contain_sahara_config('oslo_messaging_notifications/level').with_value('INFO') }
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -20,6 +20,7 @@ describe 'sahara::policy' do
|
||||
:key => 'context_is_admin',
|
||||
:value => 'foo:bar'
|
||||
})
|
||||
is_expected.to contain_sahara_config('oslo_policy/policy_file').with_value('/etc/sahara/policy.json')
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user