NAME
object-expirer.conf - configuration file for the OpenStack Swift object expirer daemon
SYNOPSIS
object-expirer.conf
DESCRIPTION
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/
SEE ALSO
swift-proxy-server.conf(5),