Use oslo module for logging and policy configuration

Change-Id: I6a6c3dc4a54ac72ab212b3bd1a82d9f023876650
This commit is contained in:
ZhongShengping 2016-05-06 15:32:33 +08:00
parent ba00e81f17
commit ac45966573
5 changed files with 43 additions and 148 deletions

View File

@ -6,34 +6,34 @@
#
# [*logging_context_format_string*]
# (optional) Format string to use for log messages with context.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
# [%(request_id)s %(user_identity)s] %(instance)s%(message)s'
#
# [*logging_default_format_string*]
# (optional) Format string to use for log messages without context.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
# [-] %(instance)s%(message)s'
#
# [*logging_debug_format_suffix*]
# (optional) Formatted data to append to log format when level is DEBUG.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: '%(funcName)s %(pathname)s:%(lineno)d'
#
# [*logging_exception_prefix*]
# (optional) Prefix each line of exception output with this format.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s'
#
# [*log_config_append*]
# The name of an additional logging configuration file.
# Defaults to undef.
# Defaults to $::os_service_default.
# See https://docs.python.org/2/howto/logging.html
#
# [*default_log_levels*]
# (optional) Hash of logger (keys) and level (values) pairs.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example:
# { 'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
# 'sqlalchemy' => 'WARN', 'suds' => 'INFO',
@ -45,167 +45,55 @@
#
# [*publish_errors*]
# (optional) Publish error events (boolean value).
# Defaults to undef (false if unconfigured).
# Defaults to $::os_service_default (false if unconfigured).
#
# [*fatal_deprecations*]
# (optional) Make deprecations fatal (boolean value)
# Defaults to undef (false if unconfigured).
# Defaults to $::os_service_default (false if unconfigured).
#
# [*instance_format*]
# (optional) If an instance is passed with the log message, format it
# like this (string value).
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: '[instance: %(uuid)s] '
#
# [*instance_uuid_format*]
# (optional) If an instance UUID is passed with the log message, format
# it like this (string value).
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: instance_uuid_format='[instance: %(uuid)s] '
# [*log_date_format*]
# (optional) Format string for %%(asctime)s in log records.
# Defaults to undef.
# Defaults to $::os_service_default.
# Example: 'Y-%m-%d %H:%M:%S'
class zaqar::logging(
$logging_context_format_string = undef,
$logging_default_format_string = undef,
$logging_debug_format_suffix = undef,
$logging_exception_prefix = undef,
$log_config_append = undef,
$default_log_levels = undef,
$publish_errors = undef,
$fatal_deprecations = undef,
$instance_format = undef,
$instance_uuid_format = undef,
$log_date_format = undef,
$logging_context_format_string = $::os_service_default,
$logging_default_format_string = $::os_service_default,
$logging_debug_format_suffix = $::os_service_default,
$logging_exception_prefix = $::os_service_default,
$log_config_append = $::os_service_default,
$default_log_levels = $::os_service_default,
$publish_errors = $::os_service_default,
$fatal_deprecations = $::os_service_default,
$instance_format = $::os_service_default,
$instance_uuid_format = $::os_service_default,
$log_date_format = $::os_service_default,
) {
if $logging_context_format_string {
zaqar_config {
'DEFAULT/logging_context_format_string' :
value => $logging_context_format_string;
}
}
else {
zaqar_config {
'DEFAULT/logging_context_format_string' : ensure => absent;
}
}
if $logging_default_format_string {
zaqar_config {
'DEFAULT/logging_default_format_string' :
value => $logging_default_format_string;
}
}
else {
zaqar_config {
'DEFAULT/logging_default_format_string' : ensure => absent;
}
}
if $logging_debug_format_suffix {
zaqar_config {
'DEFAULT/logging_debug_format_suffix' :
value => $logging_debug_format_suffix;
}
}
else {
zaqar_config {
'DEFAULT/logging_debug_format_suffix' : ensure => absent;
}
}
if $logging_exception_prefix {
zaqar_config {
'DEFAULT/logging_exception_prefix' : value => $logging_exception_prefix;
}
}
else {
zaqar_config {
'DEFAULT/logging_exception_prefix' : ensure => absent;
}
}
if $log_config_append {
zaqar_config {
'DEFAULT/log_config_append' : value => $log_config_append;
}
}
else {
zaqar_config {
'DEFAULT/log_config_append' : ensure => absent;
}
}
if $default_log_levels {
zaqar_config {
'DEFAULT/default_log_levels' :
value => join(sort(join_keys_to_values($default_log_levels, '=')), ',');
}
}
else {
zaqar_config {
'DEFAULT/default_log_levels' : ensure => absent;
}
}
if $publish_errors {
zaqar_config {
'DEFAULT/publish_errors' : value => $publish_errors;
}
}
else {
zaqar_config {
'DEFAULT/publish_errors' : ensure => absent;
}
}
if $fatal_deprecations {
zaqar_config {
'DEFAULT/fatal_deprecations' : value => $fatal_deprecations;
}
}
else {
zaqar_config {
'DEFAULT/fatal_deprecations' : ensure => absent;
}
}
if $instance_format {
zaqar_config {
'DEFAULT/instance_format' : value => $instance_format;
}
}
else {
zaqar_config {
'DEFAULT/instance_format' : ensure => absent;
}
}
if $instance_uuid_format {
zaqar_config {
'DEFAULT/instance_uuid_format' : value => $instance_uuid_format;
}
}
else {
zaqar_config {
'DEFAULT/instance_uuid_format' : ensure => absent;
}
}
if $log_date_format {
zaqar_config {
'DEFAULT/log_date_format' : value => $log_date_format;
}
}
else {
zaqar_config {
'DEFAULT/log_date_format' : ensure => absent;
}
}
oslo::log { 'zaqar_config':
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,
}
}

View File

@ -36,4 +36,6 @@ class zaqar::policy (
create_resources('openstacklib::policy::base', $policies)
oslo::policy { 'zaqar_config': policy_file => $policy_path }
}

View File

@ -0,0 +1,4 @@
---
features:
- Switch to puppet-oslo resource usage (instead of
manual configuration file editing).

View File

@ -83,7 +83,7 @@ describe 'zaqar::logging' do
:default_log_levels, :fatal_deprecations,
:instance_format, :instance_uuid_format,
:log_date_format, ].each { |param|
it { is_expected.to contain_zaqar_config("DEFAULT/#{param}").with_ensure('absent') }
it { is_expected.to contain_zaqar_config("DEFAULT/#{param}").with(:value => '<SERVICE DEFAULT>') }
}
end

View File

@ -20,6 +20,7 @@ describe 'zaqar::policy' do
:key => 'context_is_admin',
:value => 'foo:bar'
})
is_expected.to contain_zaqar_config('oslo_policy/policy_file').with_value('/etc/zaqar/policy.json')
end
end