object-expirer.conf(5)

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),