This is the configuration file used by the account server and
other account background services, such as; replicator, auditor and
reaper.
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
This is indicated by section named [DEFAULT]. Below are
the parameters that are acceptable within this section.
- bind_ip
- IP address the account 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 account server should bind to. The default is 6002.
- 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 account 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.
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 apply a number of filters. It is a list of
filters ended by an application. The normal pipeline is "healthcheck
recon account-server".
This is indicated by section name [app:account-server].
Below are the parameters that are acceptable within this section.
- use
- Entry point for paste.deploy for the account server. This is the reference
to the installed python egg. This is normally
egg:swift#account.
- set log_name
- Label used when logging. The default is account-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.
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.
The following sections are used by other swift-account
services, such as replicator, auditor and reaper.
- [account-replicator]
- log_name
- Label used when logging. The default is account-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.
- per_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.
- error_suppression_interval
- How long without an error before a node's error count is reset. This will
also be how long before a node is re-enabled after suppression is
triggered. The default is 60 seconds.
- error_suppression_limit
- How many errors can accumulate before a node is temporarily ignored. The
default is 10 seconds.
- 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 account can be reclaimed. The default is
604800 seconds.
- log_name
- Label used when logging. The default is account-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 account per device per interval. The default is
1800 seconds.
- accounts_per_second
- Maximum accounts audited per second. Should be tuned according to
individual system specs. 0 is unlimited. The default is 200.
- log_name
- Label used when logging. The default is account-reaper.
- 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.
- concurrency
- Number of reaper workers to spawn. The default is 25.
- interval
- Minimum time for a pass to take. The default is 3600 seconds.
- 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.
More in depth documentation about the swift-account-server and
also Openstack-Swift as a whole can be found at
http://swift.openstack.org/admin_guide.html and
http://swift.openstack.org