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

View File

@ -36,4 +36,6 @@ class zaqar::policy (
create_resources('openstacklib::policy::base', $policies) 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, :default_log_levels, :fatal_deprecations,
:instance_format, :instance_uuid_format, :instance_format, :instance_uuid_format,
:log_date_format, ].each { |param| :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 end

View File

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