4601548dab
If we move it to constraints it's more globally accessible in our code, but more importantly it's more obvious to ops that everything breaks if you try to mis-configure different values per-service. Change-Id: Ib8f7d08bc48da12be5671abe91a17ae2b49ecfee
480 lines
19 KiB
Groff
480 lines
19 KiB
Groff
.\"
|
|
.\" Author: Joao Marcelo Martins <marcelo.martins@rackspace.com> or <btorch@gmail.com>
|
|
.\" Copyright (c) 2010-2012 OpenStack Foundation.
|
|
.\"
|
|
.\" Licensed under the Apache License, Version 2.0 (the "License");
|
|
.\" you may not use this file except in compliance with the License.
|
|
.\" You may obtain a copy of the License at
|
|
.\"
|
|
.\" http://www.apache.org/licenses/LICENSE-2.0
|
|
.\"
|
|
.\" Unless required by applicable law or agreed to in writing, software
|
|
.\" distributed under the License is distributed on an "AS IS" BASIS,
|
|
.\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
.\" implied.
|
|
.\" See the License for the specific language governing permissions and
|
|
.\" limitations under the License.
|
|
.\"
|
|
.TH container-server.conf 5 "8/26/2011" "Linux" "OpenStack Swift"
|
|
|
|
.SH NAME
|
|
.LP
|
|
.B container-server.conf
|
|
\- configuration file for the OpenStack Swift container server
|
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
.LP
|
|
.B container-server.conf
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
.PP
|
|
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
|
|
\fIhttp://pythonpaste.org/deploy/#config-format\fR
|
|
|
|
|
|
|
|
.SH GLOBAL SECTION
|
|
.PD 1
|
|
.RS 0
|
|
This is indicated by section named [DEFAULT]. Below are the parameters that
|
|
are acceptable within this section.
|
|
|
|
.IP "\fBbind_ip\fR"
|
|
IP address the container server should bind to. The default is 0.0.0.0 which will make
|
|
it bind to all available addresses.
|
|
.IP "\fBbind_port\fR"
|
|
TCP port the container server should bind to. The default is 6201.
|
|
.IP "\fBkeep_idle\fR"
|
|
Value to set for socket TCP_KEEPIDLE. The default value is 600.
|
|
.IP "\fBbind_timeout\fR"
|
|
Timeout to bind socket. The default is 30.
|
|
.IP \fBbacklog\fR
|
|
TCP backlog. Maximum number of allowed pending connections. The default value is 4096.
|
|
.IP \fBworkers\fR
|
|
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.
|
|
.IP \fBmax_clients\fR
|
|
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.
|
|
.IP \fBallowed_sync_hosts\fR
|
|
This is a comma separated list of hosts allowed in the X-Container-Sync-To
|
|
field for containers. This is the old-style of using container sync. It is
|
|
strongly recommended to use the new style of a separate
|
|
container-sync-realms.conf -- see container-sync-realms.conf-sample
|
|
allowed_sync_hosts = 127.0.0.1
|
|
.IP \fBuser\fR
|
|
The system user that the container server will run as. The default is swift.
|
|
.IP \fBswift_dir\fR
|
|
Swift configuration directory. The default is /etc/swift.
|
|
.IP \fBdevices\fR
|
|
Parent directory of where devices are mounted. Default is /srv/node.
|
|
.IP \fBmount_check\fR
|
|
Whether or not check if the devices are mounted to prevent accidentally writing to
|
|
the root device. The default is set to true.
|
|
.IP \fBdisable_fallocate\fR
|
|
Disable pre-allocate disk space for a file. The default is false.
|
|
.IP \fBlog_name\fR
|
|
Label used when logging. The default is swift.
|
|
.IP \fBlog_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP \fBlog_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP \fBlog_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBlog_max_line_length\fR
|
|
The following caps the length of log lines to the value given; no limit if
|
|
set to 0, the default.
|
|
.IP \fBlog_custom_handlers\fR
|
|
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.
|
|
.IP \fBlog_udp_host\fR
|
|
If set, log_udp_host will override log_address.
|
|
.IP "\fBlog_udp_port\fR
|
|
UDP log port, the default is 514.
|
|
.IP \fBlog_statsd_host\fR
|
|
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.
|
|
.IP \fBlog_statsd_port\fR
|
|
The default is 8125.
|
|
.IP \fBlog_statsd_default_sample_rate\fR
|
|
The default is 1.
|
|
.IP \fBlog_statsd_sample_rate_factor\fR
|
|
The default is 1.
|
|
.IP \fBlog_statsd_metric_prefix\fR
|
|
The default is empty.
|
|
.IP \fBdb_preallocation\fR
|
|
If you don't mind the extra disk space usage in overhead, you can turn this
|
|
on to preallocate disk space with SQLite databases to decrease fragmentation.
|
|
The default is false.
|
|
.IP \fBeventlet_debug\fR
|
|
Debug mode for eventlet library. The default is false.
|
|
.IP \fBfallocate_reserve\fR
|
|
You can set fallocate_reserve to the number of bytes or percentage of disk
|
|
space you'd like fallocate to reserve, whether there is space for the given
|
|
file size or not. Percentage will be used if the value ends with a '%'.
|
|
The default is 1%.
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
.PD
|
|
|
|
|
|
|
|
.SH PIPELINE SECTION
|
|
.PD 1
|
|
.RS 0
|
|
This is indicated by section name [pipeline:main]. Below are the parameters that
|
|
are acceptable within this section.
|
|
|
|
.IP "\fBpipeline\fR"
|
|
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".
|
|
.RE
|
|
.PD
|
|
|
|
|
|
|
|
.SH APP SECTION
|
|
.PD 1
|
|
.RS 0
|
|
This is indicated by section name [app:container-server]. Below are the parameters
|
|
that are acceptable within this section.
|
|
.IP "\fBuse\fR"
|
|
Entry point for paste.deploy for the container server. This is the reference to the installed python egg.
|
|
This is normally \fBegg:swift#container\fR.
|
|
.IP "\fBset log_name\fR
|
|
Label used when logging. The default is container-server.
|
|
.IP "\fBset log_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP "\fBset log_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP "\fBset log_requests\fR
|
|
Enables request logging. The default is True.
|
|
.IP "\fBset log_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBnode_timeout\fR
|
|
Request timeout to external services. The default is 3 seconds.
|
|
.IP \fBconn_timeout\fR
|
|
Connection timeout to external services. The default is 0.5 seconds.
|
|
.IP \fBallow_versions\fR
|
|
The default is false.
|
|
.IP "\fBauto_create_account_prefix [deprecated]\fR"
|
|
The default is '.'. Should be configured in swift.conf instead.
|
|
.IP \fBreplication_server\fR
|
|
Configure parameter for creating specific server.
|
|
To handle all verbs, including replication verbs, do not specify
|
|
"replication_server" (this is the default). To only handle replication,
|
|
set to a True value (e.g. "True" or "1"). To handle only non-replication
|
|
verbs, set to "False". Unless you have a separate replication network, you
|
|
should not specify any value for "replication_server".
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
.PD
|
|
|
|
|
|
|
|
.SH FILTER SECTION
|
|
.PD 1
|
|
.RS 0
|
|
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.
|
|
.IP "\fB[filter:healthcheck]\fR"
|
|
.RE
|
|
.RS 3
|
|
.IP "\fBuse\fR"
|
|
Entry point for paste.deploy for the healthcheck middleware. This is the reference to the installed python egg.
|
|
This is normally \fBegg:swift#healthcheck\fR.
|
|
.IP "\fBdisable_path\fR"
|
|
An optional filesystem path which, if present, will cause the healthcheck
|
|
URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE".
|
|
.RE
|
|
|
|
.RS 0
|
|
.IP "\fB[filter:recon]\fR"
|
|
.RS 3
|
|
.IP "\fBuse\fR"
|
|
Entry point for paste.deploy for the recon middleware. This is the reference to the installed python egg.
|
|
This is normally \fBegg:swift#recon\fR.
|
|
.IP "\fBrecon_cache_path\fR"
|
|
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.
|
|
.RE
|
|
.PD
|
|
|
|
.RS 0
|
|
.IP "\fB[filter:xprofile]\fR"
|
|
.RS 3
|
|
.IP "\fBuse\fR"
|
|
Entry point for paste.deploy for the xprofile middleware. This is the reference to the installed python egg.
|
|
This is normally \fBegg:swift#xprofile\fR.
|
|
.IP "\fBprofile_module\fR"
|
|
This option enable you to switch profilers which should inherit from python
|
|
standard profiler. Currently the supported value can be 'cProfile', 'eventlet.green.profile' etc.
|
|
.IP "\fBlog_filename_prefix\fR"
|
|
This prefix will be used to combine process ID and timestamp to name the
|
|
profile data file. Make sure the executing user has permission to write
|
|
into this path (missing path segments will be created, if necessary).
|
|
If you enable profiling in more than one type of daemon, you must override
|
|
it with an unique value like, the default is /var/log/swift/profile/account.profile.
|
|
.IP "\fBdump_interval\fR"
|
|
The profile data will be dumped to local disk based on above naming rule
|
|
in this interval. The default is 5.0.
|
|
.IP "\fBdump_timestamp\fR"
|
|
Be careful, this option will enable profiler to dump data into the file with
|
|
time stamp which means there will be lots of files piled up in the directory.
|
|
The default is false
|
|
.IP "\fBpath\fR"
|
|
This is the path of the URL to access the mini web UI. The default is __profile__.
|
|
.IP "\fBflush_at_shutdown\fR"
|
|
Clear the data when the wsgi server shutdown. The default is false.
|
|
.IP "\fBunwind\fR"
|
|
Unwind the iterator of applications. Default is false.
|
|
.RE
|
|
.PD
|
|
|
|
|
|
.SH ADDITIONAL SECTIONS
|
|
.PD 1
|
|
.RS 0
|
|
The following sections are used by other swift-container services, such as replicator,
|
|
updater, auditor and sync.
|
|
.IP "\fB[container-replicator]\fR"
|
|
.RE
|
|
.RS 3
|
|
.IP \fBlog_name\fR
|
|
Label used when logging. The default is container-replicator.
|
|
.IP \fBlog_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP \fBlog_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP \fBlog_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBper_diff\fR
|
|
Maximum number of database rows that will be sync'd in a single HTTP replication request. The default is 1000.
|
|
.IP \fBmax_diffs\fR
|
|
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.
|
|
.IP \fBconcurrency\fR
|
|
Number of replication workers to spawn. The default is 8.
|
|
.IP "\fBrun_pause [deprecated]\fR"
|
|
Time in seconds to wait between replication passes. The default is 30.
|
|
.IP \fBinterval\fR
|
|
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.
|
|
.IP \fBnode_timeout\fR
|
|
Request timeout to external services. The default is 10 seconds.
|
|
.IP \fBconn_timeout\fR
|
|
Connection timeout to external services. The default is 0.5 seconds.
|
|
.IP \fBreclaim_age\fR
|
|
Time elapsed in seconds before an container can be reclaimed. The default is
|
|
604800 seconds.
|
|
.IP \fBrsync_compress\fR
|
|
Allow rsync to compress data which is transmitted to destination node
|
|
during sync. However, this is applicable only when destination node is in
|
|
a different region than the local one. The default is false.
|
|
.IP \fBrsync_module\fR
|
|
Format of the rsync module where the replicator will send data. See
|
|
etc/rsyncd.conf-sample for some usage examples.
|
|
.IP \fBrecon_cache_path\fR
|
|
Path to recon cache directory. The default is /var/cache/swift.
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
|
|
|
|
.RS 0
|
|
.IP "\fB[container-updater]\fR"
|
|
.RE
|
|
.RS 3
|
|
.IP \fBlog_name\fR
|
|
Label used when logging. The default is container-updater.
|
|
.IP \fBlog_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP \fBlog_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP \fBlog_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBinterval\fR
|
|
Minimum time for a pass to take. The default is 300 seconds.
|
|
.IP \fBconcurrency\fR
|
|
Number of updater workers to spawn. The default is 4.
|
|
.IP \fBnode_timeout\fR
|
|
Request timeout to external services. The default is 3 seconds.
|
|
.IP \fBconn_timeout\fR
|
|
Connection timeout to external services. The default is 0.5 seconds.
|
|
.IP \fBcontainers_per_second\fR
|
|
Maximum containers updated per second. Should be tuned according to individual system specs. 0 is unlimited. The default is 50.
|
|
.IP "\fBslowdown [deprecated]\fR"
|
|
Slowdown will sleep that amount between containers. The default is 0.01 seconds. Deprecated in favor of containers_per_second
|
|
.IP \fBaccount_suppression_time\fR
|
|
Seconds to suppress updating an account that has generated an error. The default is 60 seconds.
|
|
.IP \fBrecon_cache_path\fR
|
|
Path to recon cache directory. The default is /var/cache/swift.
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
.PD
|
|
|
|
|
|
.RS 0
|
|
.IP "\fB[container-auditor]\fR"
|
|
.RE
|
|
.RS 3
|
|
.IP \fBlog_name\fR
|
|
Label used when logging. The default is container-auditor.
|
|
.IP \fBlog_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP \fBlog_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP \fBlog_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBinterval\fR
|
|
Will audit, at most, 1 container per device per interval. The default is 1800 seconds.
|
|
.IP \fBcontainers_per_second\fR
|
|
Maximum containers audited per second. Should be tuned according to individual system specs. 0 is unlimited. The default is 200.
|
|
.IP \fBrecon_cache_path\fR
|
|
Path to recon cache directory. The default is /var/cache/swift.
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
|
|
|
|
|
|
.RS 0
|
|
.IP "\fB[container-sync]\fR"
|
|
.RE
|
|
.RS 3
|
|
.IP \fBlog_name\fR
|
|
Label used when logging. The default is container-sync.
|
|
.IP \fBlog_facility\fR
|
|
Syslog log facility. The default is LOG_LOCAL0.
|
|
.IP \fBlog_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP \fBlog_address\fR
|
|
Logging address. The default is /dev/log.
|
|
.IP \fBsync_proxy\fR
|
|
If you need to use an HTTP Proxy, set it here; defaults to no proxy.
|
|
.IP \fBinterval\fR
|
|
Will audit, at most, each container once per interval. The default is 300 seconds.
|
|
.IP \fBcontainer_time\fR
|
|
Maximum amount of time to spend syncing each container per pass. The default is 60 seconds.
|
|
.IP \fBconn_timeout\fR
|
|
Connection timeout to external services. The default is 5 seconds.
|
|
.IP \fBrequest_tries\fR
|
|
Server errors from requests will be retried by default. The default is 3.
|
|
.IP \fBinternal_client_conf_path\fR
|
|
Internal client config file path.
|
|
.IP \fBnice_priority\fR
|
|
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.
|
|
.IP \fBionice_class\fR
|
|
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.
|
|
.IP \fBionice_priority\fR
|
|
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.
|
|
.RE
|
|
.PD
|
|
|
|
|
|
|
|
|
|
.SH DOCUMENTATION
|
|
.LP
|
|
More in depth documentation about the swift-container-server and
|
|
also OpenStack Swift as a whole can be found at
|
|
.BI https://docs.openstack.org/swift/latest/admin_guide.html
|
|
and
|
|
.BI https://docs.openstack.org/swift/latest/
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
.BR swift-container-server(1)
|