Swift work for config reference
This patch re-works swift content for the new configuration reference structure. The Object Storage configuration section is pared down, with additional/optional features moved to a new file and section of the document - adding to what was previously there in the Object Storage Admin Guide. New stub sections added for drive-audit, static web and form post. One of the big changes is the move of all option tables to common/tables. These have been generated with a new script which converts swift conf files into docbook tables, and attempts to find descriptions of those configuration options in swift's devref documentation. Future work for this script: merged in with the autodoc tool structure, add an 'update' mode. Change-Id: I75a3c442e4734594bec202fecbe4a4272d297ac7 lp:restructure-documentation
This commit is contained in:
parent
5715bdb47c
commit
298ac05625
@ -27,13 +27,7 @@
|
||||
|
||||
<para>It has been our experience that when a drive is about to fail, error messages will spew into /var/log/kern.log. There is a script called swift-drive-audit that can be run via cron to watch for bad drives. If errors are detected, it will unmount the bad drive, so that OpenStack Object Storage can work around it. The script takes a configuration file with the following settings:
|
||||
</para>
|
||||
<programlisting language="bash"> [drive-audit]
|
||||
Option Default Description
|
||||
log_facility LOG_LOCAL0 Syslog log facility
|
||||
log_level INFO Log level
|
||||
device_dir /srv/node Directory devices are mounted under
|
||||
minutes 60 Number of minutes to look back in /var/log/kern.log
|
||||
error_limit 1 Number of errors to find before a device is unmounted</programlisting>
|
||||
<xi:include href="tables/swift-drive-audit-drive-audit.xml"/>
|
||||
<para>This script has only been tested on Ubuntu 10.04, so if you are using a different distro or OS, some care should be taken before using in production.
|
||||
</para></section>
|
||||
|
||||
|
@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[DEFAULT]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>bind_ip=0.0.0.0</td><td>IP Address for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_port=6002</td><td>Port for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_timeout=30</td><td>Seconds to attempt bind before giving up</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>backlog=4096</td><td>Maximum number of allowed pending TCP connections</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>workers=1</td><td>a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=swift</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices=/srv/node</td><td>Parent directory of where devices are mounted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mount_check=true</td><td>Whether or not check if the devices are mounted to prevent accidentally writing to the root device</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_fallocate=false</td><td>Disable "fast fail" fallocate checks if the underlying filesystem does not support it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_name=swift</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_custom_handlers=</td><td>Comma-separated list of functions to call to setup custom log handlers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>db_preallocation=off</td><td>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. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be `egg:swift#account`. replication passes account can be reclaimed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eventlet_debug=false</td><td>If true, turn on debug logging for eventlet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fallocate_reserve=0</td><td>You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be `egg:swift#object`.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[account-auditor]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=account-auditor</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=1800</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>accounts_per_second=200</td><td>Maximum accounts audited per second. Should be tuned according to individual system specs. 0 is unlimited.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a
|
||||
few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[account-reaper]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=account-reaper</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=25</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=3600</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=10</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>delay_reaping=0</td><td>Normally, the reaper begins deleting account information for deleted accounts immediately; you can set this to delay its work however. The value is in seconds, 2592000 = 30 days, for example. bind to giving up 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. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reap_warn_after=2592000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[account-replicator]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=account-replicator</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vm_test_mode=no</td><td>Indicates that you are using a VM environment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>per_diff=1000</td><td>Limit number of items to get per diff</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_diffs=100</td><td>Caps how long the replicator tries to spend syncing a database per pass</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=8</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=30</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>error_suppression_interval=60</td><td>Time in seconds that must elapse since the last error for a node to be considered no longer error limited</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>error_suppression_limit=10</td><td>Error count to consider a node error limited</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=10</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reclaim_age=604800</td><td>Time elapsed in seconds before an object can be reclaimed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>run_pause=30</td><td>Time in seconds to wait between replication passes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[app:account-server]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#account</td><td>Entry point for paste.deploy for the server</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=account-server</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_requests=true</td><td>Whether or not to log each requests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auto_create_account_prefix=.</td><td>Prefix used when automatically creating accounts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_clients=1024</td><td>Maximum number of clients one worker can process simultaneously (it will actually</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>replication_server=false</td><td>If defined, tells server how to handle
|
||||
replication verbs in requests. When set to True (or 1), only replication verbs will be accepted.
|
||||
When set to False, replication verbs will be rejected. When undefined, server will accept any verb
|
||||
in request.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:healthcheck]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#healthcheck</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_path=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:recon]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#recon</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[pipeline:main]</literal> in <literal>account-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>pipeline=healthcheck recon account-server</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,98 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[DEFAULT]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>bind_ip=0.0.0.0</td><td>IP Address for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_port=6001</td><td>Port for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_timeout=30</td><td>Seconds to attempt bind before giving up</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>backlog=4096</td><td>Maximum number of allowed pending TCP connections</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>workers=1</td><td>a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=swift</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices=/srv/node</td><td>Parent directory of where devices are mounted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mount_check=true</td><td>Whether or not check if the devices are mounted to prevent accidentally writing to the root device</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_fallocate=false</td><td>Disable "fast fail" fallocate checks if the underlying filesystem does not support it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allowed_sync_hosts=127.0.0.1</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_name=swift</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_custom_handlers=</td><td>Comma-separated list of functions to call to setup custom log handlers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>db_preallocation=off</td><td>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. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be `egg:swift#account`. replication passes account can be reclaimed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eventlet_debug=false</td><td>If true, turn on debug logging for eventlet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fallocate_reserve=0</td><td>You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be `egg:swift#object`.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[app:container-server]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#container</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=container-server</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Log level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_requests=true</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=3</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allow_versions=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auto_create_account_prefix=.</td><td>Prefix used when automatically creating accounts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>replication_server=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[container-auditor]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=container-auditor</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=1800</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>containers_per_second=200</td><td>Maximum containers audited per second. Should be tuned according to individual system specs. 0 is unlimited. mounted to prevent accidentally writing to the root device 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. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[container-replicator]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=container-replicator</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vm_test_mode=no</td><td>Indicates that you are using a VM environment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>per_diff=1000</td><td>Limit number of items to get per diff</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_diffs=100</td><td>Caps how long the replicator spends trying to sync a database per pass</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=8</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=30</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=10</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reclaim_age=604800</td><td>Time elapsed in seconds before an object can be reclaimed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>run_pause=30</td><td>Time in seconds to wait between replication passes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[container-sync]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=container-sync</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sync_proxy=http://127.0.0.1:8888</td><td>If you need to use an HTTP proxy, set it here. Defaults to no proxy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=300</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_time=60</td><td>Maximum amount of time to spend syncing each container</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[container-updater]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=container-updater</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=300</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=4</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=3</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>slowdown=0.01</td><td>Time in seconds to wait between objects</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_suppression_time=60</td><td>Seconds to suppress updating an account that has generated an</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:healthcheck]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#healthcheck</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_path=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:recon]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#recon</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[pipeline:main]</literal> in <literal>container-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>pipeline=healthcheck recon container-server</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
65
doc/src/docbkx/common/tables/swift-dispersion-dispersion.xml
Normal file
65
doc/src/docbkx/common/tables/swift-dispersion-dispersion.xml
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[dispersion]</literal> in <literal>dispersion.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>auth_url=http://localhost:8080/auth/v1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_user=test:tester</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_key=testing</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_url=http://saio:5000/v2.0/</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_user=test:tester</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_key=testing</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_version=2.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>endpoint_type=publicURL</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dispersion_coverage=1</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>retries=5</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=25</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_report=yes</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_report=yes</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dump_json=no</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[drive-audit]</literal> in <literal>drive-audit.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>device_dir=/srv/node</td><td>Directory devices are mounted under</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>minutes=60</td><td>Number of minutes to look back in `/var/log/kern.log`</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>error_limit=1</td><td>Number of errors to find before a device is unmounted</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
26
doc/src/docbkx/common/tables/swift-memcache-memcache.xml
Normal file
26
doc/src/docbkx/common/tables/swift-memcache-memcache.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[memcache]</literal> in <literal>memcache.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>memcache_servers=127.0.0.1:11211</td><td>Comma separated list of memcached servers ip:port services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>memcache_serialization_support=2</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[DEFAULT]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=swift</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_name=swift</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_custom_handlers=</td><td>Comma-separated list of functions to call to setup custom log handlers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[app:proxy-server]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#proxy</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:cache]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#memcache</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:catch_errors]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#catch_errors</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[object-expirer]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>interval=300</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auto_create_account_prefix=.</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>report_interval=300</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=1</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>processes=0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>process=0</td><td>(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. By increasing the number of workers to a much higher value, one can</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[pipeline:main]</literal> in <literal>object-expirer.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>pipeline=catch_errors cache proxy-server</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
95
doc/src/docbkx/common/tables/swift-object-server-DEFAULT.xml
Normal file
95
doc/src/docbkx/common/tables/swift-object-server-DEFAULT.xml
Normal file
@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[DEFAULT]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>bind_ip=0.0.0.0</td><td>IP Address for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_port=6000</td><td>Port for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_timeout=30</td><td>Seconds to attempt bind before giving up</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>backlog=4096</td><td>Maximum number of allowed pending TCP connections</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>workers=1</td><td>a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=swift</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices=/srv/node</td><td>Parent directory of where devices are mounted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mount_check=true</td><td>Whether or not check if the devices are mounted to prevent accidentally writing to the root device</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_fallocate=false</td><td>Disable "fast fail" fallocate checks if the underlying filesystem does not support it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>expiring_objects_container_divisor=86400</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_name=swift</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_custom_handlers=</td><td>Comma-separated list of functions to call to setup custom log handlers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eventlet_debug=false</td><td>If true, turn on debug logging for eventlet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fallocate_reserve=0</td><td>You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be `egg:swift#object`.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[app:object-server]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#object</td><td>Entry point of paste.deploy in the server</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=object-server</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Log level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_requests=true</td><td>Whether or not to log requests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=3</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>network_chunk_size=65536</td><td>Size of chunks to read/write over the network</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disk_chunk_size=65536</td><td>Size of chunks to read/write to disk</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_upload_time=86400</td><td>Maximum time allowed to upload an object</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>slow=0</td><td>If > 0, Minimum time in seconds for a PUT or DELETE request to complete</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>keep_cache_size=5424880</td><td>Largest object size to keep in buffer cache</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>keep_cache_private=false</td><td>Allow non-public objects to stay in kernel's buffer cache</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mb_per_sync=512</td><td>On PUT requests, sync file every n MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allowed_headers=Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object</td><td>Comma-separated list of headers that can be set in metadata of an object</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auto_create_account_prefix=.</td><td>Prefix used when automatically creating accounts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_clients=1024</td><td>Maximum number of clients one worker can process simultaneously (it will actually</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>replication_server=false</td><td>If defined, tells server how to handle replication verbs in requests. When set to True (or 1), only replication verbs will be accepted. When set to False, replication verbs will be rejected. When undefined, server will accept any verb in the request.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>threads_per_disk=0</td><td>Size of the per-disk thread pool used for performing disk I/O. The default of 0 means to not use a per-disk thread pool. It is recommended to keep this value small, as large values can result in high read latencies due to large queue depths. A good starting point is 4 threads per disk.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:healthcheck]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#healthcheck</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_path=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:recon]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#recon</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_lock_path=/var/lock</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[object-auditor]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=object-auditor</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files_per_second=20</td><td>Maximum files audited per second. Should be tuned according to individual system specs. 0 is unlimited.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bytes_per_second=10000000</td><td>Maximum bytes audited per second. Should be tuned according to individual system specs. 0 is unlimited. mounted to prevent accidentally writing to the root device 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. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. container server. For most cases, this should be `egg:swift#container`.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_time=3600</td><td>Frequency of status logs in seconds.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zero_byte_files_per_second=50</td><td>Maximum zero byte files audited per second.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_size_stats=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[object-replicator]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=object-replicator</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vm_test_mode=no</td><td>Indicates that you are using a VM environment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>daemonize=on</td><td>Whether or not to run replication as a daemon</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>run_pause=30</td><td>Time in seconds to wait between replication passes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=1</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>stats_interval=300</td><td>Interval in seconds between logging replication statistics</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rsync_timeout=900</td><td>Max duration (seconds) of a partition rsync</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rsync_bwlimit=0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rsync_io_timeout=30</td><td>Passed to rsync for a max duration (seconds) of an I/O op</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>http_timeout=60</td><td>Maximum duration for an HTTP request</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lockup_timeout=1800</td><td>Attempts to kill all workers if nothing replications for lockup_timeout seconds</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reclaim_age=604800</td><td>Time elapsed in seconds before an object can be reclaimed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ring_check_interval=15</td><td>How often (in seconds) to check the ring</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[object-updater]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>log_name=object-updater</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval=300</td><td>Minimum time for a pass to take</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=1</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=10</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>slowdown=0.01</td><td>Time in seconds to wait between objects</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recon_cache_path=/var/cache/swift</td><td>Directory where stats for a few items will be stored</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[pipeline:main]</literal> in <literal>object-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>pipeline=healthcheck recon object-server</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
104
doc/src/docbkx/common/tables/swift-proxy-server-DEFAULT.xml
Normal file
104
doc/src/docbkx/common/tables/swift-proxy-server-DEFAULT.xml
Normal file
@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[DEFAULT]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>bind_ip=0.0.0.0</td><td>IP Address for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_port=80</td><td>Port for server to bind to</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>bind_timeout=30</td><td>Seconds to attempt bind before giving up</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>backlog=4096</td><td>Maximum number of allowed pending TCP connections</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_dir=/etc/swift</td><td>Swift configuration directory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>workers=1</td><td>a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=swift</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>cert_file=/etc/swift/proxy.crt</td><td>to the ssl .crt. This should be enabled for testing purposes only.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key_file=/etc/swift/proxy.key</td><td>to the ssl .key. This should be enabled for testing purposes only.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>expiring_objects_container_divisor=86400</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_name=swift</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_level=INFO</td><td>Logging level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>trans_id_suffix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_custom_handlers=</td><td>Comma-separated list of functions to call to setup custom log handlers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>cors_allow_origin=</td><td>is a list of hosts that are included with any CORS request by default and returned with the Access-Control-Allow-Origin header in addition to what the container has set. to call to setup custom log handlers. for eventlet the proxy server. For most cases, this should be `egg:swift#proxy`. request whenever it has to failover to a handoff node</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>client_timeout=60</td><td>Timeout to read one chunk from a client external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eventlet_debug=false</td><td>If true, turn on debug logging for eventlet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_clients=1024</td><td>Maximum number of clients one worker can process simultaneously (it will actually</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[app:proxy-server]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#proxy</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=proxy-server</td><td>Label to use when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Log level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_handoffs=true</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recheck_account_existence=60</td><td>Cache timeout in seconds to send memcached for account existence</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>recheck_container_existence=60</td><td>Cache timeout in seconds to send memcached for container existence</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_chunk_size=8192</td><td>Chunk size to read from object servers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>client_chunk_size=8192</td><td>Chunk size to read from clients</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_timeout=10</td><td>Request timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conn_timeout=0.5</td><td>Connection timeout to external services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>error_suppression_interval=60</td><td>Time in seconds that must elapse since the last error for a node to be considered no longer error limited</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>error_suppression_limit=10</td><td>Error count to consider a node error limited</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allow_account_management=false</td><td>Whether account PUTs and DELETEs are even callable</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_post_as_copy=true</td><td>Set object_post_as_copy = false to turn on fast posts where only the metadata changes are stored anew and the original data file is kept in place. This makes for quicker posts; but since the container metadata isn't updated in this mode, features like container sync won't be able to sync posts.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_autocreate=false</td><td>If set to 'true' authorized accounts that do not yet exist within the Swift cluster will be automatically created.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_containers_per_account=0</td><td>If set to a positive value, trying to create a container when the account already has at least this maximum containers will result in a 403 Forbidden. Note: This is a soft limit, meaning a user might exceed the cap for recheck_account_existence before the 403s kick in.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_containers_whitelist=</td><td>is a comma separated list of account names that ignore the max_containers_per_account cap.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>deny_host_headers=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auto_create_account_prefix=.</td><td>Prefix to use when automatically creating accounts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>put_queue_depth=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rate_limit_after_segment=10</td><td>Rate limit the download of large object segments after this segment is downloaded.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rate_limit_segments_per_sec=1</td><td>Rate limit large object downloads at this rate. contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request. paste.deploy to use for auth. To use tempauth set to: `egg:swift#tempauth` each request</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sorting_method=shuffle</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>timing_expiry=300</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allow_static_large_object=true</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_large_object_get_time=86400</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>request_node_count=2 * replicas</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read_affinity=r1z1=100, r1z2=200, r2=300</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read_affinity=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write_affinity=r1, r2</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write_affinity=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write_affinity_node_count=2 * replicas</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:account-quotas]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#account_quotas</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:authtoken]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>auth_host=keystonehost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_port=35357</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_protocol=http</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_uri=http://keystonehost:5000/</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>admin_tenant_name=service</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>admin_user=swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>admin_password=password</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>delay_auth_decision=1</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>cache=swift.cache</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:bulk]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#bulk</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_containers_per_extraction=10000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_failed_extractions=1000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_deletes_per_request=10000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>yield_frequency=60</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:cache]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#memcache</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=cache</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>memcache_servers=127.0.0.1:11211</td><td>Comma separated list of memcached servers ip:port services</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>memcache_serialization_support=2</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:catch_errors]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#catch_errors</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=catch_errors</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:cname_lookup]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#cname_lookup</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=cname_lookup</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Log level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>If True, log headers in each request</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>storage_domain=example.com</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lookup_depth=1</td><td>As CNAMES can be recursive, how many levels to search through</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:container-quotas]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#container_quotas</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:domain_remap]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#domain_remap</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=domain_remap</td><td>Label used when logging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>Syslog log facility</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>Log level</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>If True, log headers with each request</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>storage_domain=example.com</td><td>Domain to use for remap</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>path_root=v1</td><td>Root path</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reseller_prefixes=AUTH</td><td>Reseller prefix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:formpost]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#formpost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:healthcheck]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#healthcheck</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable_path=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:keystoneauth]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#keystoneauth</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>operator_roles=admin, swiftoperator</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:list-endpoints]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#list_endpoints</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>list_endpoints_path=/endpoints/</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:name_check]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#name_check</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>forbidden_chars='"`<></td><td>Characters that are not allowed in a name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maximum_length=255</td><td>Maximum length of a name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>forbidden_regexp=/\./|/\.\./|/\.$|/\.\.$</td><td>Substrings to forbid, using regular expression syntax</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:proxy-logging]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#proxy_logging</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_name=swift</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_facility=LOG_LOCAL0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_udp_host=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_udp_port=514</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_statsd_host=localhost</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_statsd_port=8125</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_statsd_default_sample_rate=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_statsd_sample_rate_factor=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_statsd_metric_prefix=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>access_log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_statsd_valid_http_methods=GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:ratelimit]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#ratelimit</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=ratelimit</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clock_accuracy=1000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_sleep_time_seconds=60</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log_sleep_time_seconds=0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rate_buffer_seconds=5</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_ratelimit=0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_whitelist=a,b</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_blacklist=c,d</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>with container_limit_x=r</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_ratelimit_0=100</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_ratelimit_10=50</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_ratelimit_50=20</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_listing_ratelimit_0=100</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_listing_ratelimit_10=50</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_listing_ratelimit_50=20</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:slo]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#slo</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_manifest_segments=1000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_manifest_size=2097152</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>min_segment_size=1048576</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:staticweb]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#staticweb</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:tempauth]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#tempauth</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_name=tempauth</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_facility=LOG_LOCAL0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_headers=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>set log_address=/dev/log</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reseller_prefix=AUTH</td><td>The naming scope for the auth service. Swift</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_prefix=/auth/</td><td>The HTTP request path prefix for the auth service. Swift itself reserves anything beginning with the letter `v`.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>token_life=86400</td><td>The number of seconds a token is valid.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>allow_overrides=true</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>storage_url_scheme=default</td><td>Scheme to return with storage urls: http, https, or default (chooses based on what the server is running as) This can be useful with an SSL load balancer in front of a non-SSL server.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_admin_admin=admin .admin .reseller_admin</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_test_tester=testing .admin</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_test2_tester2=testing2 .admin</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_test_tester3=testing3</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[filter:tempurl]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>use=egg:swift#tempurl</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>methods=GET HEAD PUT</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>incoming_remove_headers=x-timestamp</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>incoming_allow_headers=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>outgoing_remove_headers=x-object-meta-*</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>outgoing_allow_headers=x-object-meta-public-*</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[pipeline:main]</literal> in <literal>proxy-server.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>pipeline=catch_errors healthcheck proxy-logging cache bulk slo ratelimit tempauth container-quotas account-quotas proxy-logging proxy-server</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
32
doc/src/docbkx/common/tables/swift-rsyncd-account.xml
Normal file
32
doc/src/docbkx/common/tables/swift-rsyncd-account.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[account]</literal> in <literal>rsyncd.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>max connections=2</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>path=/srv/node</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read only=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lock file=/var/lock/account.lock</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
32
doc/src/docbkx/common/tables/swift-rsyncd-container.xml
Normal file
32
doc/src/docbkx/common/tables/swift-rsyncd-container.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[container]</literal> in <literal>rsyncd.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>max connections=4</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>path=/srv/node</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read only=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lock file=/var/lock/container.lock</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
32
doc/src/docbkx/common/tables/swift-rsyncd-object.xml
Normal file
32
doc/src/docbkx/common/tables/swift-rsyncd-object.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[object]</literal> in <literal>rsyncd.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>max connections=8</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>path=/srv/node</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read only=false</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lock file=/var/lock/object.lock</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
95
doc/src/docbkx/common/tables/swift-swift-bench-bench.xml
Normal file
95
doc/src/docbkx/common/tables/swift-swift-bench-bench.xml
Normal file
@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[bench]</literal> in <literal>swift-bench.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>auth=http://localhost:8080/auth/v1.0</td><td>Swift storage accounts and auth tokens will begin with this prefix.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user=test:tester</td><td>User to run as</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key=testing</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>auth_version=1.0</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>log-level=INFO</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>timeout=10</td><td>Timeout value sent to rsync --timeout and --contimeout options</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>put_concurrency=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>get_concurrency=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>del_concurrency=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>concurrency=</td><td>Number of replication workers to spawn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_sources=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lower_object_size=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>upper_object_size=10</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>object_size=1</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>num_objects=1000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>num_gets=10000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>num_containers=20</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_name=(randomly-chosen uuid4)</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>delete=yes</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>use_proxy=yes</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>use_proxy=no, this setting is required and used as the X-Storage-Url when</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>url=</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account=</td><td>has generated an error (timeout, not yet found, etc.)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>use_proxy=no.</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices=sdb1</td><td>Parent directory of where devices are mounted</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[swift-constraints]</literal> in <literal>swift.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>max_file_size=5368709122</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_name_length=128</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_value_length=256</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_count=90</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_overall_size=4096</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_header_size=8192</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_object_name_length=1024</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_listing_limit=10000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_listing_limit=10000</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_account_name_length=256</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_container_name_length=256</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
26
doc/src/docbkx/common/tables/swift-swift-swift-hash.xml
Normal file
26
doc/src/docbkx/common/tables/swift-swift-swift-hash.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Warning: Do not edit this file. It is automatically
|
||||
generated and your changes will be overwritten.
|
||||
The tool to do so lives in the tools directory of this
|
||||
repository -->
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<table rules="all">
|
||||
<caption>Description of configuration options for <literal>[swift-hash]</literal> in <literal>swift.conf-sample</literal></caption>
|
||||
<col width="50%"/>
|
||||
<col width="50%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Configuration option=Default value</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>swift_hash_path_suffix=changeme</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>swift_hash_path_prefix=changeme</td><td>No help text available for this option</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</para>
|
@ -4,19 +4,10 @@
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
xml:id="ch_configuring-object-storage">
|
||||
<title>Configuring OpenStack Object Storage</title>
|
||||
<para>This chapter provides sample configuration files for all the related Object Storage services provided through the swift project.</para>
|
||||
<section xml:id="account-server-conf">
|
||||
<title>Sample Account Server configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/account-server.conf-sample"/></programlisting></section>
|
||||
<section xml:id="container-server-conf">
|
||||
<title>Sample Container Server configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/container-server.conf-sample"/></programlisting></section>
|
||||
<section xml:id="dispersion-conf">
|
||||
<title>Sample Dispersion Server configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/dispersion.conf-sample"/></programlisting></section>
|
||||
<section xml:id="drive-audit-conf">
|
||||
<title>Sample Drive Audit configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/drive-audit.conf-sample"/></programlisting></section>
|
||||
<para>OpenStack Object Storage uses paste.deploy to manage server configurations. Default configuration
|
||||
options are set in the <code>[DEFAULT]</code> section, and any options specified there
|
||||
can be overridden in any of the other sections.</para>
|
||||
<!--these need to be placed under appropriate sections
|
||||
<section xml:id="memcache-conf">
|
||||
<title>Sample Memcache configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/memcache.conf-sample"/></programlisting></section>
|
||||
@ -25,14 +16,8 @@
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/mime.types-sample"/></programlisting></section>
|
||||
<section xml:id="object-expirer-conf">
|
||||
<title>Sample Object Expirer configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/object-expirer.conf-sample"/></programlisting></section>
|
||||
<section xml:id="object-server-conf">
|
||||
<title>Sample Object Server configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/object-server.conf-sample"/></programlisting></section>
|
||||
<section xml:id="proxy-server-conf">
|
||||
<title>Sample Proxy Server configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/proxy-server.conf-sample"/></programlisting></section>
|
||||
<section xml:id="rsyncd-conf">
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/object-expirer.conf-sample"/></programlisting></section>
|
||||
<section xml:id="rsyncd-conf">
|
||||
<title>Sample Rsyncd configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/rsyncd.conf-sample"/></programlisting></section>
|
||||
<section xml:id="swift-bench-conf">
|
||||
@ -40,5 +25,86 @@
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/swift-bench.conf-sample"/></programlisting></section>
|
||||
<section xml:id="swift-conf">
|
||||
<title>Sample Swift configuration file</title>
|
||||
<programlisting language="ini"><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/swift.conf-sample"/></programlisting></section>
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/swift.conf-sample"/></programlisting></section>-->
|
||||
<section xml:id="object-server-configuration">
|
||||
<title>Object Server Configuration</title>
|
||||
<para>An example Object Server configuration can be found at
|
||||
etc/object-server.conf-sample in the source code
|
||||
repository.</para>
|
||||
<para>The following configuration options are
|
||||
available:</para>
|
||||
|
||||
<xi:include href="../common/tables/swift-object-server-DEFAULT.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-app-object-server.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-pipeline-main.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-object-replicator.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-object-updater.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-object-auditor.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-filter-healthcheck.xml"/>
|
||||
<xi:include href="../common/tables/swift-object-server-filter-recon.xml"/>
|
||||
<section xml:id="object-server-conf">
|
||||
<title>Sample Object Server configuration file</title>
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/object-server.conf-sample"/></programlisting></section>
|
||||
</section>
|
||||
<section xml:id="container-server-configuration">
|
||||
<title>Container Server Configuration</title>
|
||||
<para>An example Container Server configuration can be found at
|
||||
etc/container-server.conf-sample in the source code repository.</para>
|
||||
<para>The following configuration options are available:</para>
|
||||
<xi:include href="../common/tables/swift-container-server-DEFAULT.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-app-container-server.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-pipeline-main.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-container-replicator.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-container-updater.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-container-auditor.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-container-sync.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-filter-healthcheck.xml"/>
|
||||
<xi:include href="../common/tables/swift-container-server-filter-recon.xml"/>
|
||||
<section xml:id="container-server-conf">
|
||||
<title>Sample Container Server configuration file</title>
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/container-server.conf-sample"/></programlisting></section>
|
||||
|
||||
</section>
|
||||
<section xml:id="account-server-configuration">
|
||||
<title>Account Server Configuration</title>
|
||||
<para>An example Account Server configuration can be found at
|
||||
etc/account-server.conf-sample in the source code repository.</para>
|
||||
|
||||
<para>The following configuration options are available:</para>
|
||||
<xi:include href="../common/tables/swift-account-server-DEFAULT.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-app-account-server.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-pipeline-main.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-account-replicator.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-account-auditor.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-account-reaper.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-filter-healthcheck.xml"/>
|
||||
<xi:include href="../common/tables/swift-account-server-filter-recon.xml"/>
|
||||
<section xml:id="account-server-conf">
|
||||
<title>Sample Account Server configuration file</title>
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/account-server.conf-sample"/></programlisting></section>
|
||||
</section>
|
||||
<section xml:id="proxy-server-configuration">
|
||||
<title>Proxy Server Configuration</title>
|
||||
<para>An example Proxy Server configuration can be found at etc/proxy-server.conf-sample
|
||||
in the source code repository.</para>
|
||||
<para>The following configuration options are available:</para>
|
||||
<xi:include href="../common/tables/swift-proxy-server-DEFAULT.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-app-proxy-server.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-pipeline-main.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-account-quotas.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-authtoken.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-cache.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-catch_errors.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-healthcheck.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-keystoneauth.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-list-endpoints.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-proxy-logging.xml"/>
|
||||
<xi:include href="../common/tables/swift-proxy-server-filter-tempauth.xml"/>
|
||||
<section xml:id="proxy-server-conf">
|
||||
<title>Sample Proxy Server configuration file</title>
|
||||
<programlisting><xi:include parse="text" href="https://raw.github.com/openstack/swift/master/etc/proxy-server.conf-sample"/></programlisting></section>
|
||||
</section>
|
||||
|
||||
<!-- section on Object Storage Features -->
|
||||
<xi:include href="object-storage/section_object-storage-features.xml"/>
|
||||
</chapter>
|
||||
|
@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
xml:id="configuring-openstack-object-storage-with-s3_api">
|
||||
<title>Configuring Object Storage with the S3 API</title>
|
||||
<para>The Swift3 middleware emulates the S3 REST API on top of
|
||||
Object Storage.</para>
|
||||
<para>The following operations are currently supported:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>GET Service</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>DELETE Bucket</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>GET Bucket (List Objects)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>PUT Bucket</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>DELETE Object</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>GET Object</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>HEAD Object</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>PUT Object</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>PUT Object (Copy)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>To use this middleware, first download the latest
|
||||
version from its repository to your proxy
|
||||
server(s).</para>
|
||||
<screen><prompt>$</prompt> <userinput>git clone https://github.com/fujita/swift3.git</userinput></screen>
|
||||
<para>Optional: To use this middleware with Swift 1.7.0 and
|
||||
previous versions, you'll need to use the v1.7 tag of the
|
||||
fujita/swift3 repository. Clone the repo as above and
|
||||
then:</para>
|
||||
<screen><prompt>$</prompt> <userinput>cd swift3; git checkout v1.7</userinput></screen>
|
||||
<para>Then, install it using standard python mechanisms, such
|
||||
as:</para>
|
||||
<screen><prompt>$</prompt> <userinput>sudo python setup.py install</userinput></screen>
|
||||
<para>Alternatively, if you have configured the Ubuntu Cloud
|
||||
Archive, you may use:
|
||||
<screen><prompt>$</prompt> <userinput>sudo apt-get install swift-python-s3</userinput></screen></para>
|
||||
<para>To add this middleware to your configuration, add the
|
||||
swift3 middleware in front of the auth middleware, and
|
||||
before any other middleware that look at swift requests
|
||||
(like rate limiting).</para>
|
||||
<para>Ensure that your proxy-server.conf file contains swift3
|
||||
in the pipeline and the [filter:swift3] section, as shown
|
||||
below:</para>
|
||||
<programlisting>
|
||||
[pipeline:main]
|
||||
pipeline = healthcheck cache swift3 swauth proxy-server
|
||||
|
||||
[filter:swift3]
|
||||
use = egg:swift3#swift3
|
||||
</programlisting>
|
||||
<para>Next, configure the tool that you use to connect to the
|
||||
S3 API. For S3curl, for example, you'll need to add your
|
||||
host IP information by adding y our host IP to the
|
||||
@endpoints array (line 33 in s3curl.pl):</para>
|
||||
<literallayout class="monospaced">my @endpoints = ( '1.2.3.4');</literallayout>
|
||||
<para>Now you can send commands to the endpoint, such
|
||||
as:</para>
|
||||
<screen>
|
||||
<prompt>$</prompt> <userinput>./s3curl.pl - 'myacc:myuser' -key mypw -get - -s -v http://1.2.3.4:8080</userinput>
|
||||
</screen>
|
||||
<para>To set up your client, the access key will be the
|
||||
concatenation of the account and user strings that should
|
||||
look like test:tester, and the secret access key is the
|
||||
account password. The host should also point to the Swift
|
||||
storage node's hostname. It also will have to use the
|
||||
old-style calling format, and not the hostname-based
|
||||
container format. Here is an example client setup using
|
||||
the Python boto library on a locally installed all-in-one
|
||||
Swift installation.</para>
|
||||
<programlisting>
|
||||
connection = boto.s3.Connection(
|
||||
aws_access_key_id='test:tester',
|
||||
aws_secret_access_key='testing',
|
||||
port=8080,
|
||||
host='127.0.0.1',
|
||||
is_secure=False,
|
||||
calling_format=boto.s3.connection.OrdinaryCallingFormat())
|
||||
</programlisting>
|
||||
</section>
|
@ -0,0 +1,548 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xml:id="configuring-object-storage-features"
|
||||
xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
version="5.0">
|
||||
<title>Configuring OpenStack Object Storage Features</title>
|
||||
<section xml:id="object-storage-rate-limits">
|
||||
<?dbhtml stop-chunking?>
|
||||
<title>Throttling Resources by Setting Rate Limits</title>
|
||||
<para>Rate limiting in OpenStack Object Storage is implemented
|
||||
as a pluggable middleware that you configure on the proxy
|
||||
server. Rate limiting is performed on requests that result
|
||||
in database writes to the account and container sqlite
|
||||
dbs. It uses memcached and is dependent on the proxy
|
||||
servers having highly synchronized time. The rate limits
|
||||
are limited by the accuracy of the proxy server
|
||||
clocks.</para>
|
||||
<section xml:id="configuration-for-rate-limiting">
|
||||
<title>Configuration for Rate Limiting</title>
|
||||
<para>All configuration is optional. If no account or
|
||||
container limits are provided there will be no rate
|
||||
limiting. Available configuration options include:</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-ratelimit.xml"/>
|
||||
<para>The container rate limits are linearly interpolated
|
||||
from the values given. A sample container rate
|
||||
limiting could be:</para>
|
||||
<para>container_ratelimit_100 = 100</para>
|
||||
<para>container_ratelimit_200 = 50</para>
|
||||
<para>container_ratelimit_500 = 20</para>
|
||||
<para>This would result in:</para>
|
||||
<table rules="all">
|
||||
<caption>Values for Rate Limiting with Sample
|
||||
Configuration Settings</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Container Size</td>
|
||||
<td>Rate Limit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0-99</td>
|
||||
<td>No limiting</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>100</td>
|
||||
<td>100</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>150</td>
|
||||
<td>75</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>500</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1000</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="object-storage-healthcheck">
|
||||
<title>Health Check</title>
|
||||
<para>Health Check provides a simple way to monitor if the
|
||||
swift proxy server is alive. If the proxy is access
|
||||
with the path /healthcheck, it will respond with “OK”
|
||||
in the body, which can be used by monitoring
|
||||
tools.</para>
|
||||
<xi:include href="../../common/tables/swift-account-server-filter-healthcheck.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-domain-remap">
|
||||
<title>Domain Remap</title>
|
||||
<para>Domain Remap is middleware that translates container
|
||||
and account parts of a domain to path parameters that
|
||||
the proxy server understands.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-domain_remap.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-cname-lookup">
|
||||
<title>CNAME Lookup</title>
|
||||
<para>CNAME Lookup is middleware that translates an
|
||||
unknown domain in the host header to something that
|
||||
ends with the configured storage_domain by looking up
|
||||
the given domain's CNAME record in DNS.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-cname_lookup.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-tempurl">
|
||||
<title>Temporary URL</title>
|
||||
<para>Allows the creation of URLs to provide temporary
|
||||
access to objects. For example, a website may wish to
|
||||
provide a link to download a large object in Swift,
|
||||
but the Swift account has no public access. The
|
||||
website can generate a URL that will provide GET
|
||||
access for a limited time to the resource. When the
|
||||
web browser user clicks on the link, the browser will
|
||||
download the object directly from Swift, obviating the
|
||||
need for the website to act as a proxy for the
|
||||
request. If the user were to share the link with all
|
||||
his friends, or accidentally post it on a forum, etc.
|
||||
the direct access would be limited to the expiration
|
||||
time set when the website created the link. To create
|
||||
such temporary URLs, first an
|
||||
X-Account-Meta-Temp-URL-Key header must be set on the
|
||||
Swift account. Then, an HMAC-SHA1 (RFC 2104) signature
|
||||
is generated using the HTTP method to allow (GET or
|
||||
PUT), the Unix timestamp the access should be allowed
|
||||
until, the full path to the object, and the key set on
|
||||
the account. For example, here is code generating the
|
||||
signature for a GET for 60 seconds on
|
||||
/v1/AUTH_account/container/object:
|
||||
<programlisting>
|
||||
import hmac
|
||||
from hashlib import sha1
|
||||
from time import time
|
||||
method = 'GET'
|
||||
expires = int(time() + 60)
|
||||
path = '/v1/AUTH_account/container/object'
|
||||
key = 'mykey'
|
||||
hmac_body = '%s\n%s\n%s' % (method, expires, path)
|
||||
sig = hmac.new(key, hmac_body, sha1).hexdigest()
|
||||
</programlisting></para>
|
||||
<para>Be certain to use the full path, from the /v1/
|
||||
onward. Let's say the sig ends up equaling
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 and expires
|
||||
ends up 1323479485. Then, for example, the website
|
||||
could provide a link to:
|
||||
<programlisting>
|
||||
https://swift-cluster.example.com/v1/AUTH_account/container/object?
|
||||
temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709&
|
||||
temp_url_expires=1323479485
|
||||
</programlisting></para>
|
||||
<para>Any alteration of the resource path or query
|
||||
arguments would result in 401 Unauthorized. Similarly,
|
||||
a PUT where GET was the allowed method would 401. HEAD
|
||||
is allowed if GET or PUT is allowed. Using this in
|
||||
combination with browser form post translation
|
||||
middleware could also allow direct-from-browser
|
||||
uploads to specific locations in Swift. Note that
|
||||
changing the X-Account-Meta-Temp-URL-Key will
|
||||
invalidate any previously generated temporary URLs
|
||||
within 60 seconds (the memcache time for the key).</para>
|
||||
<para>A script called swift-temp-url distributed with swift source
|
||||
code eases the temporary URL creation:
|
||||
<programlisting>
|
||||
$ bin/swift-temp-url GET 3600 /v1/AUTH_account/container/object mykey
|
||||
/v1/AUTH_account/container/object?
|
||||
temp_url_sig=5c4cc8886f36a9d0919d708ade98bf0cc71c9e91&
|
||||
temp_url_expires=1374497657
|
||||
</programlisting>
|
||||
The path returned by the above command is prefixed with swift
|
||||
storage hostname.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-tempurl.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-name-check">
|
||||
<title>Name Check Filter</title>
|
||||
<para>Name Check is a filter that disallows any paths that
|
||||
contain defined forbidden characters or that exceed a
|
||||
defined length.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-name_check.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-constraints">
|
||||
<title>Constraints</title>
|
||||
<para>The <literal>swift-constraints</literal> section in
|
||||
<literal>swift.conf</literal> allows modification
|
||||
of internal limits within swift. These are advanced
|
||||
features for tuning the performance of the cluster and
|
||||
should be altered with caution.</para>
|
||||
<table rules="all">
|
||||
<caption>Configuration options for swift-constraints
|
||||
in swift.conf</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Option</td>
|
||||
<td>Default</td>
|
||||
<td>Description</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_file_size</td>
|
||||
<td>5368709122</td>
|
||||
<td>the largest "normal" object that can be
|
||||
saved in the cluster. This is also the
|
||||
limit on the size of each segment of a
|
||||
"large" object when using the large object
|
||||
manifest support. This value is set in
|
||||
bytes. Setting it to lower than 1MiB will
|
||||
cause some tests to fail. It is STRONGLY
|
||||
recommended to leave this value at the
|
||||
default (5 * 2**30 + 2).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_name_length</td>
|
||||
<td>128</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of the name portion of a metadata
|
||||
header.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_value_lenth</td>
|
||||
<td>256</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of a metadata value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_count</td>
|
||||
<td>90</td>
|
||||
<td>the max number of metadata keys that can
|
||||
be stored on a single account, container,
|
||||
or object</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_meta_overall_size</td>
|
||||
<td>4096</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of the metadata (keys +
|
||||
values)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_object_name_length</td>
|
||||
<td>1024</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of an object name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container_listing_limit</td>
|
||||
<td>10000</td>
|
||||
<td>the default (and max) number of items
|
||||
returned for a container listing
|
||||
request</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_account_name_length</td>
|
||||
<td>256</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of an account name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_container_name_length</td>
|
||||
<td>256</td>
|
||||
<td>the max number of bytes in the utf8
|
||||
encoding of a container name</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section xml:id="object-storage-dispersion">
|
||||
<title>Cluster Health</title>
|
||||
<para>There is a
|
||||
<literal>swift-dispersion-report</literal> tool
|
||||
for measuring overall cluster health. This is
|
||||
accomplished by checking if a set of deliberately
|
||||
distributed containers and objects are currently in
|
||||
their proper places within the cluster. For instance,
|
||||
a common deployment has three replicas of each object.
|
||||
The health of that object can be measured by checking
|
||||
if each replica is in its proper place. If only 2 of
|
||||
the 3 is in place the object’s heath can be said to be
|
||||
at 66.66%, where 100% would be perfect. A single
|
||||
object’s health, especially an older object, usually
|
||||
reflects the health of that entire partition the
|
||||
object is in. If we make enough objects on a distinct
|
||||
percentage of the partitions in the cluster, we can
|
||||
get a pretty valid estimate of the overall cluster
|
||||
health. In practice, about 1% partition coverage seems
|
||||
to balance well between accuracy and the amount of
|
||||
time it takes to gather results. The first thing that
|
||||
needs to be done to provide this health value is
|
||||
create a new account solely for this usage. Next, we
|
||||
need to place the containers and objects throughout
|
||||
the system so that they are on distinct partitions.
|
||||
The swift-dispersion-populate tool does this by making
|
||||
up random container and object names until they fall
|
||||
on distinct partitions. Last, and repeatedly for the
|
||||
life of the cluster, we need to run the
|
||||
swift-dispersion-report tool to check the health of
|
||||
each of these containers and objects. These tools need
|
||||
direct access to the entire cluster and to the ring
|
||||
files (installing them on a proxy server will probably
|
||||
do). Both swift-dispersion-populate and
|
||||
swift-dispersion-report use the same configuration
|
||||
file, <literal>/etc/swift/dispersion.conf</literal>.
|
||||
Example dispersion.conf file:
|
||||
<programlisting>
|
||||
[dispersion]
|
||||
auth_url = http://localhost:8080/auth/v1.0
|
||||
auth_user = test:tester
|
||||
auth_key = testing
|
||||
</programlisting>
|
||||
There are also options for the conf file for
|
||||
specifying the dispersion coverage (defaults to 1%),
|
||||
retries, concurrency, etc. though usually the defaults
|
||||
are fine. Once the configuration is in place, run
|
||||
swift-dispersion-populate to populate the containers
|
||||
and objects throughout the cluster. Now that those
|
||||
containers and objects are in place, you can run
|
||||
swift-dispersion-report to get a dispersion report, or
|
||||
the overall health of the cluster. Here is an example
|
||||
of a cluster in perfect health:
|
||||
<programlisting>
|
||||
$ swift-dispersion-report
|
||||
Queried 2621 containers for dispersion reporting, 19s, 0 retries
|
||||
100.00% of container copies found (7863 of 7863)
|
||||
Sample represents 1.00% of the container partition space
|
||||
|
||||
Queried 2619 objects for dispersion reporting, 7s, 0 retries
|
||||
100.00% of object copies found (7857 of 7857)
|
||||
Sample represents 1.00% of the object partition space
|
||||
</programlisting>
|
||||
Now, deliberately double the weight of a device in the
|
||||
object ring (with replication turned off) and rerun
|
||||
the dispersion report to show what impact that has:
|
||||
<programlisting>
|
||||
$ swift-ring-builder object.builder set_weight d0 200
|
||||
$ swift-ring-builder object.builder rebalance
|
||||
...
|
||||
$ swift-dispersion-report
|
||||
Queried 2621 containers for dispersion reporting, 8s, 0 retries
|
||||
100.00% of container copies found (7863 of 7863)
|
||||
Sample represents 1.00% of the container partition space
|
||||
|
||||
Queried 2619 objects for dispersion reporting, 7s, 0 retries
|
||||
There were 1763 partitions missing one copy.
|
||||
77.56% of object copies found (6094 of 7857)
|
||||
Sample represents 1.00% of the object partition space
|
||||
</programlisting>
|
||||
You can see the health of the objects in the cluster
|
||||
has gone down significantly. Of course, this test
|
||||
environment has just four devices, in a production
|
||||
environment with many devices the impact of one device
|
||||
change is much less. Next, run the replicators to get
|
||||
everything put back into place and then rerun the
|
||||
dispersion report:
|
||||
<programlisting>
|
||||
... start object replicators and monitor logs until they're caught up ...
|
||||
$ swift-dispersion-report
|
||||
Queried 2621 containers for dispersion reporting, 17s, 0 retries
|
||||
100.00% of container copies found (7863 of 7863)
|
||||
Sample represents 1.00% of the container partition space
|
||||
|
||||
Queried 2619 objects for dispersion reporting, 7s, 0 retries
|
||||
100.00% of object copies found (7857 of 7857)
|
||||
Sample represents 1.00% of the object partition space
|
||||
</programlisting>
|
||||
Alternatively, the dispersion report can also be
|
||||
output in json format. This allows it to be more
|
||||
easily consumed by third party utilities:
|
||||
<programlisting>
|
||||
$ swift-dispersion-report -j
|
||||
{"object": {"retries:": 0, "missing_two": 0, "copies_found": 7863, "missing_one": 0,
|
||||
"copies_expected": 7863, "pct_found": 100.0, "overlapping": 0, "missing_all": 0}, "container":
|
||||
{"retries:": 0, "missing_two": 0, "copies_found": 12534, "missing_one": 0, "copies_expected":
|
||||
12534, "pct_found": 100.0, "overlapping": 15, "missing_all": 0}}
|
||||
</programlisting>
|
||||
</para>
|
||||
<xi:include href="../../common/tables/swift-dispersion-dispersion.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-slo">
|
||||
<!-- Usage documented in http://docs.openstack.org/developer/swift/overview_large_objects.html -->
|
||||
<title>Static Large Object (SLO) support</title>
|
||||
<para>This feature is very similar to Dynamic Large Object
|
||||
(DLO) support in that it allows the user to upload
|
||||
many objects concurrently and afterwards download them
|
||||
as a single object. It is different in that it does
|
||||
not rely on eventually consistent container listings
|
||||
to do so. Instead, a user defined manifest of the
|
||||
object segments is used.</para>
|
||||
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-slo.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-container-quotas">
|
||||
<title>Container Quotas</title>
|
||||
<para>The container_quotas middleware implements simple
|
||||
quotas that can be imposed on swift containers by a
|
||||
user with the ability to set container metadata, most
|
||||
likely the account administrator. This can be useful
|
||||
for limiting the scope of containers that are
|
||||
delegated to non-admin users, exposed to formpost
|
||||
uploads, or just as a self-imposed sanity
|
||||
check.</para>
|
||||
|
||||
<para>Any object PUT operations that exceed these quotas
|
||||
return a 413 response (request entity too large) with
|
||||
a descriptive body.</para>
|
||||
|
||||
<para>Quotas are subject to several limitations: eventual
|
||||
consistency, the timeliness of the cached
|
||||
container_info (60 second ttl by default), and it's
|
||||
unable to reject chunked transfer uploads that exceed
|
||||
the quota (though once the quota is exceeded, new
|
||||
chunked transfers will be refused).</para>
|
||||
|
||||
<para>Quotas are set by adding meta values to the
|
||||
container, and are validated when set: <itemizedlist>
|
||||
<listitem>
|
||||
<para>X-Container-Meta-Quota-Bytes: Maximum
|
||||
size of the container, in bytes.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>X-Container-Meta-Quota-Count: Maximum
|
||||
object count of the container.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-container-quotas.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-account-quotas">
|
||||
<title>Account Quotas</title>
|
||||
<para>The account_quotas middleware aims to block write
|
||||
requests (PUT, POST) if a given account quota (in bytes)
|
||||
is exceeded while DELETE requests are still
|
||||
allowed.</para>
|
||||
<para>The x-account-meta-quota-bytes metadata entry must
|
||||
be set to store and enable the quota. Write requests
|
||||
to this metadata entry are only permitted for resellers.
|
||||
There isn't any account quota limitation on a reseller
|
||||
account even if x-account-meta-quota-bytes is set.</para>
|
||||
<para>Any object PUT operations that exceed the quota
|
||||
return a 413 response (request entity too large) with
|
||||
a descriptive body.</para>
|
||||
<para>The following command uses an admin account that own
|
||||
the Reseller role to set a quota on the test account:
|
||||
<programlisting>swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin --os-storage-url=http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:10000</programlisting>
|
||||
Here is the stat listing of an account where quota has been set:
|
||||
<programlisting>swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing stat
|
||||
Account: AUTH_test
|
||||
Containers: 0
|
||||
Objects: 0
|
||||
Bytes: 0
|
||||
Meta Quota-Bytes: 10000
|
||||
X-Timestamp: 1374075958.37454
|
||||
X-Trans-Id: tx602634cf478546a39b1be-0051e6bc7a
|
||||
</programlisting>
|
||||
The command below removes the account quota:
|
||||
<programlisting>swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin --os-storage-url=http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:
|
||||
</programlisting></para>
|
||||
</section>
|
||||
<section xml:id="object-storage-bulk-delete">
|
||||
<title>Bulk Delete</title>
|
||||
<para>Will delete multiple files from their account with a
|
||||
single request. Responds to DELETE requests with a header
|
||||
'X-Bulk-Delete: true_value'. The body of the DELETE
|
||||
request will be a newline separated list of files to
|
||||
delete. The files listed must be URL encoded and in the
|
||||
form:
|
||||
<programlisting>
|
||||
/container_name/obj_name
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>If all files were successfully deleted (or did not
|
||||
exist) will return an HTTPOk. If any files failed to
|
||||
delete will return an HTTPBadGateway. In both cases the
|
||||
response body is a json dictionary specifying in the
|
||||
number of files successfully deleted, not found, and a
|
||||
list of the files that failed.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-bulk.xml"/>
|
||||
</section>
|
||||
<xi:include href="section_configure_s3.xml"/>
|
||||
<section xml:id="object-storage-drive-audit">
|
||||
<title>Drive Audit</title>
|
||||
<para>The swift-drive-audit configuration items reference a script that can be run via cron to watch for bad drives. If
|
||||
errors are detected, it will unmount the bad drive, so that OpenStack Object Storage can work
|
||||
around it. It takes the following options:</para>
|
||||
<xi:include href="../../common/tables/swift-drive-audit-drive-audit.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-form-post">
|
||||
<title>Form Post</title>
|
||||
<para>The Form Post middleware provides the ability to upload objects to
|
||||
a cluster using an HTML form POST. The format of the form is:</para>
|
||||
<programlisting><![CDATA[
|
||||
<form action="<swift-url>" method="POST"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" name="redirect" value="<redirect-url>" />
|
||||
<input type="hidden" name="max_file_size" value="<bytes>" />
|
||||
<input type="hidden" name="max_file_count" value="<count>" />
|
||||
<input type="hidden" name="expires" value="<unix-timestamp>" />
|
||||
<input type="hidden" name="signature" value="<hmac>" />
|
||||
<input type="file" name="file1" /><br />
|
||||
<input type="submit" />
|
||||
</form>]]>
|
||||
</programlisting>
|
||||
<para>The <literal>swift-url</literal> is the URL to the Swift destination, such as:
|
||||
<literal>https://swift-cluster.example.com/v1/AUTH_account/container/object_prefix</literal>
|
||||
The name of each file uploaded will be appended to the <literal>swift-url</literal> given. So, you can upload
|
||||
directly to the root of container with a url like:
|
||||
<literal>https://swift-cluster.example.com/v1/AUTH_account/container/</literal>
|
||||
Optionally, you can include an object prefix to better separate different users’ uploads, such as:
|
||||
<literal>https://swift-cluster.example.com/v1/AUTH_account/container/object_prefix</literal>
|
||||
</para>
|
||||
|
||||
<para>Note the form method must be POST and the enctype must be set as “multipart/form-data”.
|
||||
|
||||
The redirect attribute is the URL to redirect the browser to after the upload completes. The URL
|
||||
will have status and message query parameters added to it, indicating the HTTP status code for the
|
||||
upload (2xx is success) and a possible message for further information if there was an error (such
|
||||
as “max_file_size exceeded”).
|
||||
|
||||
The max_file_size attribute must be included and indicates the largest single file upload that can
|
||||
be done, in bytes.
|
||||
|
||||
The max_file_count attribute must be included and indicates the maximum number of files that can be
|
||||
uploaded with the form. Include additional <literal><![CDATA[<input type="file" name="filexx"/>]]></literal> attributes if
|
||||
desired.
|
||||
|
||||
The expires attribute is the Unix timestamp before which the form must be submitted before it is
|
||||
invalidated.
|
||||
|
||||
The signature attribute is the HMAC-SHA1 signature of the form. Here is sample code for computing
|
||||
the signature:
|
||||
<programlisting>
|
||||
import hmac
|
||||
from hashlib import sha1
|
||||
from time import time
|
||||
path = '/v1/account/container/object_prefix'
|
||||
redirect = 'https://myserver.com/some-page'
|
||||
max_file_size = 104857600
|
||||
max_file_count = 10
|
||||
expires = int(time() + 600)
|
||||
key = 'mykey'
|
||||
hmac_body = '%s\n%s\n%s\n%s\n%s' % (path, redirect,
|
||||
max_file_size, max_file_count, expires)
|
||||
signature = hmac.new(key, hmac_body, sha1).hexdigest()
|
||||
</programlisting>
|
||||
The key is the value of the X-Account-Meta-Temp-URL-Key header on the account.
|
||||
|
||||
Be certain to use the full path, from the /v1/ onward.
|
||||
|
||||
The command line tool swift-form-signature may be used (mostly just when testing) to compute
|
||||
expires and signature.
|
||||
</para>
|
||||
<para>
|
||||
Also note that the file attributes must be after the other attributes in order to be processed
|
||||
correctly. If attributes come after the file, they won’t be sent with the subrequest (there is no
|
||||
way to parse all the attributes on the server-side without reading the whole thing into memory – to
|
||||
service many requests, some with large files, there just isn’t enough memory on the server, so
|
||||
attributes following the file are simply ignored).</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-formpost.xml"/>
|
||||
</section>
|
||||
<section xml:id="object-storage-static-web">
|
||||
<title>Static Websites</title>
|
||||
<para>When configured, the StaticWeb WSGI middleware serves container
|
||||
data as a static web site with index file and error file resolution and
|
||||
optional file listings. This mode is normally only active for anonymous
|
||||
requests.</para>
|
||||
<xi:include href="../../common/tables/swift-proxy-server-filter-staticweb.xml"/>
|
||||
</section>
|
||||
</section>
|
@ -210,7 +210,7 @@ def write_flags(filepath, flags, name_only=True, verbose=0):
|
||||
f.write("|")
|
||||
f.write("||".join([string.strip(name),
|
||||
string.strip(str(opt.default)),
|
||||
string.strip(opt.help.replace("\n", " ")])))
|
||||
string.strip(opt.help.replace("\n", " "))]))
|
||||
f.write("\n|-\n")
|
||||
else:
|
||||
f.write(name + "\n")
|
||||
@ -240,7 +240,7 @@ def write_docbook(directory, flags, groups, package_name, verbose=0):
|
||||
<thead>\n\
|
||||
<tr>\n\
|
||||
<td>Configuration option=Default value</td>\n\
|
||||
<td>(Type) Description</td>\n\
|
||||
<td>Description</td>\n\
|
||||
</tr>\n\
|
||||
</thead>\n\
|
||||
<tbody>')
|
||||
|
172
tools/autogenerate-config-docs/extract_swift_flags.py
Normal file
172
tools/autogenerate-config-docs/extract_swift_flags.py
Normal file
@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env python
|
||||
import sys
|
||||
from os import path
|
||||
import glob
|
||||
from xml.dom import minidom
|
||||
from xml.sax.saxutils import escape
|
||||
|
||||
#Swift configuration example files live in
|
||||
# swift/etc/*.conf-sample
|
||||
# and contain sections enclosed in [], with
|
||||
# options one per line containing =
|
||||
# and generally only having a single entry
|
||||
# after the equals (the default value)
|
||||
|
||||
def parse_line(line):
|
||||
"""
|
||||
takes a line from a swift sample configuration file and attempts
|
||||
to separate the lines with actual configuration option and default
|
||||
value from the rest. Returns None if the line doesn't appear to
|
||||
contain a valid configuration option = default value pair, and
|
||||
a pair of the config and its default if it does.
|
||||
"""
|
||||
if '=' not in line:
|
||||
return None
|
||||
temp_line = line.strip('#').strip()
|
||||
config, default = temp_line.split('=', 1)
|
||||
config = config.strip()
|
||||
if ' ' in config and config[0:3] != 'set':
|
||||
if len(default.split()) > 1 or config[0].isupper():
|
||||
return None
|
||||
if len(config) < 2 or '.' in config or '<' in config or '>' in config:
|
||||
return None
|
||||
return config, default.strip()
|
||||
|
||||
def get_existing_options(optfile):
|
||||
"""
|
||||
parses an existing XML table to compile a list of existing options
|
||||
"""
|
||||
options = []
|
||||
xmldoc = minidom.parse(optfile)
|
||||
tdlist = xmldoc.getElementsByTagName('td')
|
||||
for td in tdlist:
|
||||
try:
|
||||
tdvalue = td.childNodes[0].nodeValue
|
||||
except IndexError:
|
||||
continue
|
||||
if '=' in tdvalue and ' ' not in tdvalue:
|
||||
options.append(tdvalue.split('=',1)[0])
|
||||
return options
|
||||
|
||||
def extract_descriptions_from_devref(repo, options):
|
||||
"""
|
||||
loop through the devref RST files, looking for lines formatted
|
||||
such that they might contain a description of a particular
|
||||
option
|
||||
"""
|
||||
option_descs = {}
|
||||
rsts = glob.glob(repo + '/doc/source/*.rst')
|
||||
for rst in rsts:
|
||||
rst_file = open(rst, 'r')
|
||||
in_option_block = False
|
||||
prev_option = None
|
||||
for line in rst_file:
|
||||
if 'Option ' in line:
|
||||
in_option_block = True
|
||||
if in_option_block:
|
||||
if '========' in line:
|
||||
in_option_block = False
|
||||
continue
|
||||
if line[0] == ' ' and prev_option is not None:
|
||||
option_descs[prev_option] = option_descs[prev_option] + ' ' + line.strip()
|
||||
for option in options:
|
||||
line_parts = line.strip().split(None, 2)
|
||||
if (' ' in line and len(line_parts) == 3
|
||||
and option == line_parts[0]
|
||||
and line_parts[1] != '=' and option != 'use'
|
||||
and (option not in option_descs or
|
||||
len(option_descs[option]) < len(line_parts[2]))):
|
||||
option_descs[option] = line_parts[2]
|
||||
prev_option = option
|
||||
return option_descs
|
||||
|
||||
def new_section_file(sample, current_section):
|
||||
section_filename = ('swift-' +
|
||||
path.basename(sample).split('.conf')[0]
|
||||
+ '-' + current_section.replace('[','').replace(']','').replace(':','-')
|
||||
+ '.xml')
|
||||
section_file = open(section_filename, 'w')
|
||||
section_file.write('<?xml version="1.0" encoding="UTF-8"?>\n\
|
||||
<!-- Warning: Do not edit this file. It is automatically\n\
|
||||
generated and your changes will be overwritten.\n\
|
||||
The tool to do so lives in the tools directory of this\n\
|
||||
repository -->\n\
|
||||
<para xmlns="http://docbook.org/ns/docbook" version="5.0">\n\
|
||||
<table rules="all">\n\
|
||||
<caption>Description of configuration options for <literal>'
|
||||
+ current_section + '</literal> in <literal>' + path.basename(sample) +
|
||||
'</literal></caption>\n\
|
||||
<col width="50%"/>\n\
|
||||
<col width="50%"/>\n\
|
||||
<thead>\n\
|
||||
<tr>\n\
|
||||
<td>Configuration option=Default value</td>\n\
|
||||
<td>Description</td>\n\
|
||||
</tr>\n\
|
||||
</thead>\n\
|
||||
<tbody>')
|
||||
return section_file
|
||||
|
||||
def create_new_tables(repo, vebose, existing_options=None):
|
||||
existing_tables = glob.glob('../../doc/src/docbkx/common/tables/swift*xml')
|
||||
options = []
|
||||
for table in existing_tables:
|
||||
options.extend(get_existing_options(table))
|
||||
option_descs = extract_descriptions_from_devref(repo, options)
|
||||
conf_samples = glob.glob(repo + '/etc/*conf-sample')
|
||||
for sample in conf_samples:
|
||||
current_section = None
|
||||
section_file = None
|
||||
sample_file = open(sample,'r')
|
||||
for line in sample_file:
|
||||
if '[' in line and ']\n' in line and '=' not in line:
|
||||
#header line
|
||||
if current_section != line.strip('#').strip():
|
||||
if section_file is not None:
|
||||
section_file.write('\n </tbody>\n\
|
||||
</table>\n\
|
||||
</para>')
|
||||
section_file.close()
|
||||
current_section = line.strip('#').strip()
|
||||
section_file = new_section_file(sample, current_section)
|
||||
elif section_file is not None:
|
||||
#config option line
|
||||
parsed_line = parse_line(line)
|
||||
if parsed_line is not None:
|
||||
if parsed_line[0] in option_descs:
|
||||
option_desc = option_descs[parsed_line[0]]
|
||||
else:
|
||||
option_desc = 'No help text available for this option'
|
||||
#if (existing_options is not None
|
||||
# and parsed_line[0] not in existing_options):
|
||||
# print "New Option: " + parsed_line[0]
|
||||
#elif existing_options is not None:
|
||||
# existing_options.remove(parsed_line[0])
|
||||
section_file.write('\n <tr>\n\
|
||||
<td>' + parsed_line[0] + '=' + escape(str(parsed_line[1])) +
|
||||
'</td><td>'+ option_desc + '</td>\n' + ' </tr>')
|
||||
if section_file is not None:
|
||||
section_file.write('\n </tbody>\n\
|
||||
</table>\n\
|
||||
</para>')
|
||||
section_file.close()
|
||||
#print "Removed: " + str(existing_options)
|
||||
|
||||
def main(repo, verbose=0):
|
||||
"""
|
||||
writes a set of docbook-formatted files, based on configuration sections
|
||||
in swift sample configuration files
|
||||
actions: new - creates blank configuration files
|
||||
update - creates updated configuration files based on existing ones
|
||||
"""
|
||||
action = 'create'
|
||||
#action = 'update'
|
||||
|
||||
if action == "create":
|
||||
create_new_tables(repo, verbose)
|
||||
elif action == "update":
|
||||
options = get_existing_options('/home/fifieldt/temp/os-doc-on-a-plane-2/doc/src/docbkx/common/tables/swift-object-server-[DEFAULT].xml')
|
||||
create_new_tables(repo, verbose, options)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1])
|
Loading…
x
Reference in New Issue
Block a user