Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

10.4. Object expirer configuration

Find an example object expirer configuration at etc/object-expirer.conf-sample in the source code repository.
The available configuration options are:

Table 10.11. Description of configuration options for [DEFAULT] in object-expirer.conf

Configuration option = Default value Description
log_address = /dev/log Location where syslog sends the logs to
log_custom_handlers = Comma-separated list of functions to call to setup custom log handlers.
log_facility = LOG_LOCAL0 Syslog log facility
log_level = INFO Logging level
log_max_line_length = 0 Caps the length of log lines to the value given; no limit if set to 0, the default.
log_name = swift Label used when logging
log_statsd_default_sample_rate = 1.0 Defines the probability of sending a sample for any given event or timing measurement.
log_statsd_host = localhost If not set, the StatsD feature is disabled.
log_statsd_metric_prefix = Value will be prepended to every metric sent to the StatsD server.
log_statsd_port = 8125 Port value for the StatsD server.
log_statsd_sample_rate_factor = 1.0 Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead.
log_udp_host = If not set, the UDP receiver for syslog is disabled.
log_udp_port = 514 Port value for UDP receiver, if enabled.
swift_dir = /etc/swift Swift configuration directory
user = swift User to run as

Table 10.12. Description of configuration options for [app-proxy-server] in object-expirer.conf

Configuration option = Default value Description
use = egg:swift#proxy Entry point of paste.deploy in the server

Table 10.13. Description of configuration options for [filter-cache] in object-expirer.conf

Configuration option = Default value Description
use = egg:swift#memcache Entry point of paste.deploy in the server

Table 10.14. Description of configuration options for [filter-catch_errors] in object-expirer.conf

Configuration option = Default value Description
use = egg:swift#catch_errors Entry point of paste.deploy in the server

Table 10.15. Description of configuration options for [filter-proxy-logging] in object-expirer.conf

Configuration option = Default value Description
access_log_address = /dev/log No help text available for this option.
access_log_facility = LOG_LOCAL0 No help text available for this option.
access_log_headers = false No help text available for this option.
access_log_headers_only = If access_log_headers is True and access_log_headers_only is set only these headers are logged. Multiple headers can be defined as comma separated list like this: access_log_headers_only = Host, X-Object-Meta-Mtime
access_log_level = INFO No help text available for this option.
access_log_name = swift No help text available for this option.
access_log_statsd_default_sample_rate = 1.0 No help text available for this option.
access_log_statsd_host = localhost No help text available for this option.
access_log_statsd_metric_prefix = No help text available for this option.
access_log_statsd_port = 8125 No help text available for this option.
access_log_statsd_sample_rate_factor = 1.0 No help text available for this option.
access_log_udp_host = No help text available for this option.
access_log_udp_port = 514 No help text available for this option.
log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS No help text available for this option.
logged with access_log_headers = True. No help text available for this option.
reveal_sensitive_prefix = 16 The X-Auth-Token is sensitive data. If revealed to an unauthorised person, they can now make requests against an account until the token expires. Set reveal_sensitive_prefix to the number of characters of the token that are logged. For example reveal_sensitive_prefix = 12 so only first 12 characters of the token are logged. Or, set to 0 to completely remove the token.
use = egg:swift#proxy_logging Entry point of paste.deploy in the server

Table 10.16. Description of configuration options for [object-expirer] in object-expirer.conf

Configuration option = Default value Description
auto_create_account_prefix = . Prefix to use when automatically creating accounts
concurrency = 1 Number of replication workers to spawn
expiring_objects_account_name = expiring_objects No help text available for this option.
interval = 300 Minimum time for a pass to take
process = 0 (it will actually accept(2) N + 1). Setting this to one (1) will only handle one request at a time, without accepting another request concurrently.
processes = 0 No help text available for this option.
reclaim_age = 604800 Time elapsed in seconds before an object can be reclaimed
recon_cache_path = /var/cache/swift Directory where stats for a few items will be stored
report_interval = 300 No help text available for this option.

Table 10.17. Description of configuration options for [pipeline-main] in object-expirer.conf

Configuration option = Default value Description
pipeline = catch_errors proxy-logging cache proxy-server No help text available for this option.

10.4.1. Sample object expirer configuration file

[DEFAULT]
# swift_dir = /etc/swift
# user = swift
# You can specify default log routing here if you want:
# log_name = swift
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
# The following caps the length of log lines to the value given; no limit if
# set to 0, the default.
# log_max_line_length = 0
#
# comma separated list of functions to call to setup custom log handlers.
# functions get passed: conf, name, log_to_console, log_route, fmt, logger,
# adapted_logger
# log_custom_handlers =
#
# If set, log_udp_host will override log_address
# log_udp_host =
# log_udp_port = 514
#
# You can enable StatsD logging here:
# log_statsd_host = localhost
# log_statsd_port = 8125
# log_statsd_default_sample_rate = 1.0
# log_statsd_sample_rate_factor = 1.0
# log_statsd_metric_prefix =

[object-expirer]
# interval = 300
# auto_create_account_prefix = .
# expiring_objects_account_name = expiring_objects
# report_interval = 300
# concurrency is the level of concurrency o use to do the work, this value
# must be set to at least 1
# concurrency = 1
# processes is how many parts to divide the work into, one part per process
#   that will be doing the work
# processes set 0 means that a single process will be doing all the work
# processes can also be specified on the command line and will override the
#   config value
# processes = 0
# process is which of the parts a particular process will work on
# process can also be specified on the command line and will overide the config
#   value
# process is "zero based", if you want to use 3 processes, you should run
#  processes with process set to 0, 1, and 2
# process = 0
# The expirer will re-attempt expiring if the source object is not available
# up to reclaim_age seconds before it gives up and deletes the entry in the
# queue.
# reclaim_age = 604800
# recon_cache_path = /var/cache/swift

[pipeline:main]
pipeline = catch_errors proxy-logging cache proxy-server

[app:proxy-server]
use = egg:swift#proxy
# See proxy-server.conf-sample for options

[filter:cache]
use = egg:swift#memcache
# See proxy-server.conf-sample for options

[filter:catch_errors]
use = egg:swift#catch_errors
# See proxy-server.conf-sample for options

[filter:proxy-logging]
use = egg:swift#proxy_logging
# If not set, logging directives from [DEFAULT] without "access_" will be used
# access_log_name = swift
# access_log_facility = LOG_LOCAL0
# access_log_level = INFO
# access_log_address = /dev/log
#
# If set, access_log_udp_host will override access_log_address
# access_log_udp_host =
# access_log_udp_port = 514
#
# You can use log_statsd_* from [DEFAULT] or override them here:
# access_log_statsd_host = localhost
# access_log_statsd_port = 8125
# access_log_statsd_default_sample_rate = 1.0
# access_log_statsd_sample_rate_factor = 1.0
# access_log_statsd_metric_prefix =
# access_log_headers = false
#
# If access_log_headers is True and access_log_headers_only is set only
# these headers are logged. Multiple headers can be defined as comma separated
# list like this: access_log_headers_only = Host, X-Object-Meta-Mtime
# access_log_headers_only =
#
# By default, the X-Auth-Token is logged. To obscure the value,
# set reveal_sensitive_prefix to the number of characters to log.
# For example, if set to 12, only the first 12 characters of the
# token appear in the log. An unauthorized access of the log file
# won't allow unauthorized usage of the token. However, the first
# 12 or so characters is unique enough that you can trace/debug
# token usage. Set to 0 to suppress the token completely (replaced
# by '...' in the log).
# Note: reveal_sensitive_prefix will not affect the value
# logged with access_log_headers=True.
# reveal_sensitive_prefix = 16
#
# What HTTP methods are allowed for StatsD logging (comma-sep); request methods
# not in this list will have "BAD_METHOD" for the <verb> portion of the metric.
# log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS