SYNOPSIS

container-server.conf

DESCRIPTION

This is the configuration file used by the container server and other container background services, such as; replicator, updater, auditor and sync.

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 http://pythonpaste.org/deploy/#config-format

GLOBAL SECTION

This is indicated by section named [DEFAULT]. Below are the parameters that are acceptable within this section.

bind_ip

IP address the container server should bind to. The default is 0.0.0.0 which will make it bind to all available addresses.

bind_port

TCP port the container server should bind to. The default is 6001.

backlog

TCP backlog. Maximum number of allowed pending connections. The default value is 4096.

workers

The number of pre-forked processes that will accept connections. Zero means no fork. The default is auto which will make the server try to match the number of effective cpu cores if python multiprocessing is available (included with most python distributions >= 2.6) or fallback to one. It's worth noting that individual workers will use many eventlet co-routines to service multiple concurrent requests.

max_clients

Maximum number of clients one worker can process simultaneously (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. The default is 1024.

user

The system user that the container server will run as. The default is swift.

swift_dir

Swift configuration directory. The default is /etc/swift.

devices

Parent directory or where devices are mounted. Default is /srv/node.

mount_check

Whether or not check if the devices are mounted to prevent accidentally writing to the root device. The default is set to true.

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.

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 normal pipeline is "healthcheck recon container-server".

APP SECTION

This is indicated by section name [app:container-server]. Below are the parameters that are acceptable within this section.

use

Entry point for paste.deploy for the container server. This is the reference to the installed python egg. This is normally egg:swift#container.

set log_name

Label used when logging. The default is container-server.

set log_facility

Syslog log facility. The default is LOG_LOCAL0.

set log_level

Logging level. The default is INFO.

set log_requests

Enables request logging. The default is True.

set log_address

Logging address. The default is /dev/log.

node_timeout

Request timeout to external services. The default is 3 seconds.

conn_timeout

Connection timeout to external services. The default is 0.5 seconds.

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:healthcheck]
use

Entry point for paste.deploy for the healthcheck middleware. This is the reference to the installed python egg. This is normally egg:swift#healthcheck.

disable_path

An optional filesystem path which, if present, will cause the healthcheck URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE".

[filter:recon]
use

Entry point for paste.deploy for the recon middleware. This is the reference to the installed python egg. This is normally egg:swift#recon.

recon_cache_path

The recon_cache_path simply sets the directory where stats for a few items will be stored. Depending on the method of deployment you may need to create this directory manually and ensure that swift has read/write. The default is /var/cache/swift.

ADDITIONAL SECTIONS

The following sections are used by other swift-container services, such as replicator, updater, auditor and sync.

[container-replicator]
log_name

Label used when logging. The default is container-replicator.

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.

vm_test_mode

Indicates that you are using a VM environment. The default is no.

er_diff

The default is 1000.

max_diffs

This caps how long the replicator will spend trying to sync a given database per pass so the other databases don't get starved. The default is 100.

concurrency

Number of replication workers to spawn. The default is 8.

run_pause [deprecated]

Time in seconds to wait between replication passes. The default is 10.

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 30.

node_timeout

Request timeout to external services. The default is 10 seconds.

conn_timeout

Connection timeout to external services. The default is 0.5 seconds.

reclaim_age

Time elapsed in seconds before an container can be reclaimed. The default is 604800 seconds.

[container-updater]
log_name

Label used when logging. The default is container-updater.

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.

interval

Minimum time for a pass to take. The default is 300 seconds.

concurrency

Number of reaper workers to spawn. The default is 4.

node_timeout

Request timeout to external services. The default is 3 seconds.

conn_timeout

Connection timeout to external services. The default is 0.5 seconds.

slowdown

Slowdown will sleep that amount between containers. The default is 0.01 seconds.

account_suppression_time

Seconds to suppress updating an account that has generated an error. The default is 60 seconds.

[container-auditor]
log_name

Label used when logging. The default is container-auditor.

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.

interval

Will audit, at most, 1 container per device per interval. The default is 1800 seconds.

containers_per_second

Maximum containers audited per second. Should be tuned according to individual system specs. 0 is unlimited. The default is 200.

[container-sync]
log_name

Label used when logging. The default is container-sync.

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.

sync_proxy

If you need to use an HTTP Proxy, set it here; defaults to no proxy.

interval

Will audit, at most, each container once per interval. The default is 300 seconds.

container_time

Maximum amount of time to spend syncing each container per pass. The default is 60 seconds.

DOCUMENTATION

More in depth documentation about the swift-container-server and also Openstack-Swift as a whole can be found at http://swift.openstack.org/admin_guide.html and http://swift.openstack.org

RELATED TO container-server.conf…