Merge from trunk
This commit is contained in:
@@ -134,9 +134,80 @@ can be found in the :doc:`Ring Overview <overview_ring>`.
|
||||
General Server Configuration
|
||||
----------------------------
|
||||
|
||||
Swift uses paste.deploy to manage server configurations. Default configuration
|
||||
options are set in the `[DEFAULT]` section, and any options specified there
|
||||
can be overridden in any of the other sections.
|
||||
Swift uses paste.deploy (http://pythonpaste.org/deploy/) to manage server
|
||||
configurations. Default configuration options are set in the `[DEFAULT]`
|
||||
section, and any options specified there can be overridden in any of the other
|
||||
sections BUT ONLY BY USING THE SYNTAX ``set option_name = value``. This is the
|
||||
unfortunate way paste.deploy works and I'll try to explain it in full.
|
||||
|
||||
First, here's an example paste.deploy configuration file::
|
||||
|
||||
[DEFAULT]
|
||||
name1 = globalvalue
|
||||
name2 = globalvalue
|
||||
name3 = globalvalue
|
||||
set name4 = globalvalue
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = myapp
|
||||
|
||||
[app:myapp]
|
||||
use = egg:mypkg#myapp
|
||||
name2 = localvalue
|
||||
set name3 = localvalue
|
||||
set name5 = localvalue
|
||||
name6 = localvalue
|
||||
|
||||
The resulting configuration that myapp receives is::
|
||||
|
||||
global {'__file__': '/etc/mypkg/wsgi.conf', 'here': '/etc/mypkg',
|
||||
'name1': 'globalvalue',
|
||||
'name2': 'globalvalue',
|
||||
'name3': 'localvalue',
|
||||
'name4': 'globalvalue',
|
||||
'name5': 'localvalue',
|
||||
'set name4': 'globalvalue'}
|
||||
local {'name6': 'localvalue'}
|
||||
|
||||
So, `name1` got the global value which is fine since it's only in the `DEFAULT`
|
||||
section anyway.
|
||||
|
||||
`name2` got the global value from `DEFAULT` even though it's seemingly
|
||||
overridden in the `app:myapp` subsection. This is just the unfortunate way
|
||||
paste.deploy works (at least at the time of this writing.)
|
||||
|
||||
`name3` got the local value from the `app:myapp` subsection because it using
|
||||
the special paste.deploy syntax of ``set option_name = value``. So, if you want
|
||||
a default value for most app/filters but want to overridde it in one
|
||||
subsection, this is how you do it.
|
||||
|
||||
`name4` got the global value from `DEFAULT` since it's only in that section
|
||||
anyway. But, since we used the ``set`` syntax in the `DEFAULT` section even
|
||||
though we shouldn't, notice we also got a ``set name4`` variable. Weird, but
|
||||
probably not harmful.
|
||||
|
||||
`name5` got the local value from the `app:myapp` subsection since it's only
|
||||
there anyway, but notice that it is in the global configuration and not the
|
||||
local configuration. This is because we used the ``set`` syntax to set the
|
||||
value. Again, weird, but not harmful since Swift just treats the two sets of
|
||||
configuration values as one set anyway.
|
||||
|
||||
`name6` got the local value from `app:myapp` subsection since it's only there,
|
||||
and since we didn't use the ``set`` syntax, it's only in the local
|
||||
configuration and not the global one. Though, as indicated above, there is no
|
||||
special distinction with Swift.
|
||||
|
||||
That's quite an explanation for something that should be so much simpler, but
|
||||
it might be important to know how paste.deploy interprets configuration files.
|
||||
The main rule to remember when working with Swift configuration files is:
|
||||
|
||||
.. note::
|
||||
|
||||
Use the ``set option_name = value`` syntax in subsections if the option is
|
||||
also set in the ``[DEFAULT]`` section. Don't get in the habit of always
|
||||
using the ``set`` syntax or you'll probably mess up your non-paste.deploy
|
||||
configuration files.
|
||||
|
||||
|
||||
---------------------------
|
||||
Object Server Configuration
|
||||
@@ -170,10 +241,10 @@ Option Default Description
|
||||
use paste.deploy entry point for the object
|
||||
server. For most cases, this should be
|
||||
`egg:swift#object`.
|
||||
log_name object-server Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Logging level
|
||||
log_requests True Whether or not to log each request
|
||||
set log_name object-server Label used when logging
|
||||
set log_facility LOG_LOCAL0 Syslog log facility
|
||||
set log_level INFO Logging level
|
||||
set log_requests True Whether or not to log each request
|
||||
user swift User to run as
|
||||
node_timeout 3 Request timeout to external services
|
||||
conn_timeout 0.5 Connection timeout to external services
|
||||
@@ -229,6 +300,7 @@ Option Default Description
|
||||
log_name object-auditor Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Logging level
|
||||
log_time 3600 Frequency of status logs in seconds.
|
||||
files_per_second 20 Maximum files audited per second. Should
|
||||
be tuned according to individual system
|
||||
specs. 0 is unlimited.
|
||||
@@ -270,9 +342,9 @@ Option Default Description
|
||||
use paste.deploy entry point for the
|
||||
container server. For most cases, this
|
||||
should be `egg:swift#container`.
|
||||
log_name container-server Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Logging level
|
||||
set log_name container-server Label used when logging
|
||||
set log_facility LOG_LOCAL0 Syslog log facility
|
||||
set log_level INFO Logging level
|
||||
node_timeout 3 Request timeout to external services
|
||||
conn_timeout 0.5 Connection timeout to external services
|
||||
================== ================ ========================================
|
||||
@@ -363,9 +435,9 @@ Option Default Description
|
||||
use Entry point for paste.deploy for the account
|
||||
server. For most cases, this should be
|
||||
`egg:swift#account`.
|
||||
log_name account-server Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Logging level
|
||||
set log_name account-server Label used when logging
|
||||
set log_facility LOG_LOCAL0 Syslog log facility
|
||||
set log_level INFO Logging level
|
||||
================== ============== ==========================================
|
||||
|
||||
[account-replicator]
|
||||
@@ -444,10 +516,10 @@ use Entry point for paste.deploy for
|
||||
the proxy server. For most
|
||||
cases, this should be
|
||||
`egg:swift#proxy`.
|
||||
log_name proxy-server Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Log level
|
||||
log_headers True If True, log headers in each
|
||||
set log_name proxy-server Label used when logging
|
||||
set log_facility LOG_LOCAL0 Syslog log facility
|
||||
set log_level INFO Log level
|
||||
set log_headers True If True, log headers in each
|
||||
request
|
||||
recheck_account_existence 60 Cache timeout in seconds to
|
||||
send memcached for account
|
||||
@@ -505,10 +577,10 @@ use Entry point for
|
||||
auth. To use the swauth
|
||||
set to:
|
||||
`egg:swift#swauth`
|
||||
log_name auth-server Label used when logging
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Log level
|
||||
log_headers True If True, log headers in
|
||||
set log_name auth-server Label used when logging
|
||||
set log_facility LOG_LOCAL0 Syslog log facility
|
||||
set log_level INFO Log level
|
||||
set log_headers True If True, log headers in
|
||||
each request
|
||||
reseller_prefix AUTH The naming scope for the
|
||||
auth service. Swift
|
||||
|
||||
@@ -30,6 +30,11 @@ max_sleep_time_seconds 60 App will immediately return a 498 response
|
||||
log_sleep_time_seconds 0 To allow visibility into rate limiting set
|
||||
this value > 0 and all sleeps greater than
|
||||
the number will be logged.
|
||||
rate_buffer_seconds 5 Number of seconds the rate counter can
|
||||
drop and be allowed to catch up (at a
|
||||
faster than listed rate). A larger number
|
||||
will result in larger spikes in rate but
|
||||
better average accuracy.
|
||||
account_ratelimit 0 If set, will limit all requests to
|
||||
/account_name and PUTs to
|
||||
/account_name/container_name. Number is in
|
||||
|
||||
Reference in New Issue
Block a user