b8e3e9e1c2
A deployer may want to remove a Swift node from a load balancer for maintenance or upgrade. This patch provides an optional mechanism for this. The healthcheck filter config can specify "disable_path" which is a filesystem path. If a file is present at that location, the healthcheck middleware returns a 503 with a body of "DISABLED BY FILE". So a deployer can configure "disable_path" and then touch that filesystem path, wait for the proxy to be removed from the load balancer pool, perform maintenance/upgrade, and then remove the "disable_path" file. Also cleaned up the conf file man pages a bit. Change-Id: I1759c78c74910a54c720f298d4d8e6fa57a4dab4
281 lines
8.6 KiB
Groff
281 lines
8.6 KiB
Groff
.\"
|
|
.\" Author: Joao Marcelo Martins <marcelo.martins@rackspace.com> or <btorch@gmail.com>
|
|
.\" Copyright (c) 2010-2012 OpenStack, LLC.
|
|
.\"
|
|
.\" 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 6001.
|
|
.IP \fBbacklog\fR
|
|
TCP backlog. Maximum number of allowed pending connections. The default value is 4096.
|
|
.IP \fBworkers\fR
|
|
Number of container server workers to fork. The default is 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 or 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 \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.
|
|
.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 "\fB set log_level\fR
|
|
Logging level. The default is INFO.
|
|
.IP "\fB set log_requests\fR
|
|
Enables request logging. The default is True.
|
|
.IP "\fB set 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.
|
|
.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
|
|
|
|
|
|
|
|
.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 \fBvm_test_mode\fR
|
|
Indicates that you are using a VM environment. The default is no.
|
|
.IP \fBer_diff\fR
|
|
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 10.
|
|
.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.
|
|
.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 reaper 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 \fBslowdown = 0.01\fR
|
|
Slowdown will sleep that amount between containers. The default is 0.01 seconds.
|
|
.IP \fBaccount_suppression_time\fR
|
|
Seconds to suppress updating an account that has generated an error. The default is 60 seconds.
|
|
.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.
|
|
.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.
|
|
.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 http://swift.openstack.org/admin_guide.html
|
|
and
|
|
.BI http://swift.openstack.org
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
.BR swift-container-server(1),
|
|
|
|
|