object-expirer.conf5
Configuration file for the openstack swift object expirer daemon
Usage
object-expirer.conf
Overview
This is the configuration file used by the object expirer daemon. The daemon's function is to query the internal hidden expiring_objects_account to discover objects that need to be deleted and to then delete them.
The configuration file follows the python-pastedeploy syntax. The file is divided into sections, which are enclosed by square brackets. Each section will contain a certain number of key/value parameters which are described later.
Any line that begins with a '#' symbol is ignored.
You can find more information about python-pastedeploy configuration format at https://docs.pylonsproject.org/projects/pastedeploy/en/latest/#config-format
Global section
This is indicated by section named [DEFAULT]. Below are the parameters that are acceptable within this section.
swift_dir-
Swift configuration directory. The default is /etc/swift.
user-
The system user that the object server will run as. The default is swift.
log_name-
Label used when logging. The default is swift.
log_facility-
Syslog log facility. The default is LOG_LOCAL0.
log_level-
Logging level. The default is INFO.
log_address-
Logging address. The default is /dev/log.
log_max_line_length-
The following caps the length of log lines to the value given; no limit if set to 0, the default.
log_custom_handlers-
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. The default is empty.
log_udp_host-
If set, log_udp_host will override log_address.
log_udp_port-
UDP log port, the default is 514.
log_statsd_host-
StatsD server. IPv4/IPv6 addresses and hostnames are supported. If a hostname resolves to an IPv4 and IPv6 address, the IPv4 address will be used.
log_statsd_port-
The default is 8125.
log_statsd_default_sample_rate-
The default is 1.
log_statsd_sample_rate_factor-
The default is 1.
log_statsd_metric_prefix-
The default is empty.
delay_reaping_account/container-
Normally, the expirer begins reaping expired objects immediately. You can add options prefixed with "delay_reaping_" in the form of "delay_reaping_<ACCT>[/<CNTR>]" to cause the expirer to delay processing of tasks in those account or account/container. The <ACCT>[/<CNTR>] part of the config option names should url-quote the paths. The value is in seconds. The default is no delay for any tasks.
round_robin_task_cache_size-
Number of tasks objects to cache before processing.
nice_priority-
Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.
ionice_class-
Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO_CLASS_RT (realtime), IOPRIO_CLASS_BE (best-effort) and IOPRIO_CLASS_IDLE (idle). The default does not modify class and priority. Work only with ionice_priority.
ionice_priority-
Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice_class. Ignored if IOPRIO_CLASS_IDLE is set.
Pipeline section
This is indicated by section name [pipeline:main]. Below are the parameters that are acceptable within this section.
pipeline-
It is used when you need to apply a number of filters. It is a list of filters ended by an application. The default should be "catch_errors cache proxy-server"
App section
This is indicated by section name [app:object-server]. Below are the parameters that are acceptable within this section.
use-
Entry point for paste.deploy for the object server. This is the reference to the installed python egg. The default is
egg:swift#proxy. See proxy-server.conf-sample for options or See proxy-server.conf manpage.
nice_priority-
Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.
ionice_class-
Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO_CLASS_RT (realtime), IOPRIO_CLASS_BE (best-effort) and IOPRIO_CLASS_IDLE (idle). The default does not modify class and priority. Work only with ionice_priority.
ionice_priority-
Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice_class. Ignored if IOPRIO_CLASS_IDLE is set.
Filter section
Any section that has its name prefixed by "filter:" indicates a filter section. Filters are used to specify configuration parameters for specific swift middlewares. Below are the filters available and respective acceptable parameters.
[filter:cache]
Caching middleware that manages caching in swift.
use-
Entry point for paste.deploy for the memcache middleware. This is the reference to the installed python egg. The default is
egg:swift#memcache. See proxy-server.conf-sample for options or See proxy-server.conf manpage.
[filter:catch_errors]
use-
Entry point for paste.deploy for the catch_errors middleware. This is the reference to the installed python egg. The default is
egg:swift#catch_errors. See proxy-server.conf-sample for options or See proxy-server.conf manpage.
[filter:proxy-logging]
Logging for the proxy server now lives in this middleware. If the access_* variables are not set, logging directives from [DEFAULT] without "access_" will be used.
use-
Entry point for paste.deploy for the proxy_logging middleware. This is the reference to the installed python egg. This is normally
egg:swift#proxy_logging. See proxy-server.conf-sample for options or See proxy-server.conf manpage.
Object expirer section
[object-expirer]
interval-
Replaces run_pause with the more standard "interval", which means the replicator won't pause unless it takes less than the interval set. The default is 300.
report_interval-
The default is 300 seconds.
request_tries-
The number of times the expirer's internal client will attempt any given request in the event of failure. The default is 3.
concurrency-
Number of expirer workers to spawn. The default is 1.
processes-
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. The default is 0.
process-
Process is which of the parts a particular process will work on process can also be specified on the command line and will override 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. The default is 0.
reclaim_age-
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. The default is 604800 seconds.
recon_cache_path-
Path to recon cache directory. The default is /var/cache/swift.
nice_priority-
Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.
ionice_class-
Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO_CLASS_RT (realtime), IOPRIO_CLASS_BE (best-effort) and IOPRIO_CLASS_IDLE (idle). The default does not modify class and priority. Work only with ionice_priority.
ionice_priority-
Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice_class. Ignored if IOPRIO_CLASS_IDLE is set.
Documentation
More in depth documentation about the swift-object-expirer and also OpenStack Swift as a whole can be found at https://docs.openstack.org/swift/latest/admin_guide.html and https://docs.openstack.org/swift/latest/
Releases
6 releases since Debian 8 (Jessie); the text changed 4 times.