Reworked swift-services schemas and bf in glance and cinder schemas.

Added discovering of the configs for some neutron services too.
This commit is contained in:
Peter Lomakin
2013-11-06 16:00:43 +04:00
parent 9068bbc238
commit d992efe4ed
16 changed files with 1687 additions and 65 deletions

View File

@@ -181,8 +181,8 @@ class JokerNodeDiscovery(object):
host=j_node_info['ip'],
port=j_node_info['port'],
username=j_node_info['user'],
private_key=j_node_info['key'],)
# proxy_command=j_node_info['proxy_command'])
private_key=j_node_info['key'], )
# proxy_command=j_node_info['proxy_command'])
node = dict((k, v) for k, v in node.iteritems() if v)
nodes.append(node)
@@ -226,7 +226,7 @@ class OpenstackDiscovery(object):
node_info['host'])
openstack.report_issue(
Issue(Issue.WARNING, "Can't connect to node %s" %
node_info['host']))
node_info['host']))
continue
host = self._discover_node(client)
@@ -255,7 +255,8 @@ class OpenstackDiscovery(object):
'mysql', 'rabbitmq', 'neutron_server',
'neutron_openvswitch_agent', 'neutron_dhcp_agent',
'neutron_l3_agent', 'neutron_metadata_agent',
'swift_proxy_server']:
'swift_proxy_server', 'swift_container_server',
'swift_account_server', 'swift_object_server']:
method = '_collect_%s_data' % component
if hasattr(self, method):
try:
@@ -280,7 +281,7 @@ class OpenstackDiscovery(object):
or line[0].endswith('/' + name)):
return line
if len(line) > 1 and python_re.match(line[0]) \
and (line[1] == name or line[1].endswith('/' + name)):
and (line[1] == name or line[1].endswith('/' + name)):
return line
return None
@@ -673,6 +674,67 @@ class OpenstackDiscovery(object):
return neutron_server
def _collect_neutron_dhcp_agent_data(self, client):
process = self._find_python_process(client, 'neutron-dhcp-agent')
if not process:
return None
neutron_dhcp_agent = NeutronDhcpAgentComponent()
neutron_dhcp_agent.version = self._find_python_package_version(client,
'neutron')
self._collect_component_configs(
client, neutron_dhcp_agent, process[1:],
default_config='/etc/neutron/dhcp_agent.ini')
return neutron_dhcp_agent
def _collect_neutron_l3_agent_data(self, client):
process = self._find_python_process(client, 'neutron-l3-agent')
if not process:
return None
neutron_l3_agent = NeutronL3AgentComponent()
neutron_l3_agent.version = self._find_python_package_version(client,
'neutron')
self._collect_component_configs(
client, neutron_l3_agent, process[1:],
default_config='/etc/neutron/l3_agent.ini')
return neutron_l3_agent
def _collect_neutron_metadata_agent_data(self, client):
process = self._find_python_process(client, 'neutron-metadata-agent')
if not process:
return None
neutron_metadata_agent = NeutronMetadataAgentComponent()
neutron_metadata_agent.version = self._find_python_package_version(
client, 'neutron')
self._collect_component_configs(
client, neutron_metadata_agent, process[1:],
default_config='/etc/neutron/metadata_agent.ini')
return neutron_metadata_agent
def _collect_neutron_openvswitch_agent_data(self, client):
process = self._find_python_process(client,
'neutron-openvswitch-agent')
if not process:
return None
neutron_openvswitch_agent = NeutronOpenvswitchAgentComponent()
neutron_openvswitch_agent.version = self._find_python_package_version(
client, 'neutron')
self._collect_component_configs(
client, neutron_openvswitch_agent, process[1:],
default_config='/etc/neutron/plugins/ml2/ml2_conf.ini')
return neutron_openvswitch_agent
def _collect_swift_proxy_server_data(self, client):
process = self._find_python_process(client, 'swift-proxy-server')
if not process:
@@ -684,6 +746,51 @@ class OpenstackDiscovery(object):
self._collect_component_configs(
client, swift_proxy_server, process[1:],
default_config='/etc/swift/proxy-server.conf')
default_config='/etc/swift_proxy_server/proxy-server.conf')
return swift_proxy_server
def _collect_swift_container_server_data(self, client):
process = self._find_python_process(client, 'swift-container-server')
if not process:
return None
swift_container_server = SwiftContainerServerComponent()
swift_container_server.version = self._find_python_package_version(
client, 'swift')
self._collect_component_configs(
client, swift_container_server, process[1:],
default_config='/etc/swift/container-server/1.conf')
return swift_container_server
def _collect_swift_account_server_data(self, client):
process = self._find_python_process(client, 'swift-account-server')
if not process:
return None
swift_account_server = SwiftAccountServerComponent()
swift_account_server.version = self._find_python_package_version(
client, 'swift')
self._collect_component_configs(
client, swift_account_server, process[1:],
default_config='/etc/swift/account-server/1.conf')
return swift_account_server
def _collect_swift_object_server_data(self, client):
process = self._find_python_process(client, 'swift-object-server')
if not process:
return None
swift_object_server = SwiftObjectServerComponent()
swift_object_server.version = self._find_python_package_version(
client, 'swift')
self._collect_component_configs(
client, swift_object_server, process[1:],
default_config='/etc/swift/object-server/1.conf')
return swift_object_server

View File

@@ -398,10 +398,25 @@ class NeutronMetadataAgentComponent(OpenstackComponent):
class SwiftProxyServerComponent(OpenstackComponent):
component = 'swift'
component = 'swift_proxy_server'
name = 'swift-proxy-server'
class SwiftContainerServerComponent(OpenstackComponent):
component = 'swift_container_server'
name = 'swift-container-server'
class SwiftAccountServerComponent(OpenstackComponent):
component = 'swift_account_server'
name = 'swift-account-server'
class SwiftObjectServerComponent(OpenstackComponent):
component = 'swift_object_server'
name = 'swift-object-server'
class FileResource(IssueReporter):
def __init__(self, path, contents, owner, group, permissions):

View File

@@ -8,5 +8,8 @@ import rubick.schemas.neutron_l3_agent
import rubick.schemas.neutron_metadata_agent
import rubick.schemas.neutron_openvswitch_agent
import rubick.schemas.nova
import rubick.schemas.swift
import rubick.schemas.swift_account_server
import rubick.schemas.swift_container_server
import rubick.schemas.swift_object_server
import rubick.schemas.swift_proxy_server
import rubick.schemas.rabbitmq

View File

@@ -289,7 +289,7 @@ with cinder.version('2013.1.3', checkpoint=True) as cinder_2013_1_3:
cinder_2013_1_3.param(
'backup_driver',
type='string',
default='cinder_2013_1_3.backup.drivers.swift',
default='cinder_2013_1_3.backup.drivers.swift_proxy_server',
description="Driver to use for backups.")
cinder_2013_1_3.param(

View File

@@ -152,7 +152,7 @@ with cinder.version('2013.2') as cinder_2013_2:
default=True, description="Enable or Disable compression for backups ")
cinder_2013_2.param('backup_driver', type='string',
default='cinder.backup.drivers.swift', description="Driver to use for backups. ")
default='cinder.backup.drivers.swift_proxy_server', description="Driver to use for backups. ")
cinder_2013_2.param('connection_type', type='string', default=None,
description="Virtualization api connection type : libvirt, xenapi, or fake ")

View File

@@ -288,14 +288,14 @@ with glance_api.version('2013.2.1') as glance_api_2013_2_1:
glance_api_2013_2_1.param(
'swift_store_admin_tenants', type='string', default='',
description="A list of swift ACL strings that will be applied as both read and write ACLs to the containers created by Glance in multi-tenant mode. This grants the specified tenants/users read and write access to all newly created image objects. The standard swift ACL string formats are allowed, including: <tenant_id>:<username> <tenant_name>:<username> *:<username> Multiple ACLs can be combined using a comma separated list, for example: swift_store_admin_tenants = service:glance,*:admin")
description="A list of swift_proxy_server ACL strings that will be applied as both read and write ACLs to the containers created by Glance in multi-tenant mode. This grants the specified tenants/users read and write access to all newly created image objects. The standard swift_proxy_server ACL string formats are allowed, including: <tenant_id>:<username> <tenant_name>:<username> *:<username> Multiple ACLs can be combined using a comma separated list, for example: swift_store_admin_tenants = service:glance,*:admin")
glance_api_2013_2_1.param('swift_store_region', type='string', default='',
description="The region of the swift endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift endpoints.")
description="The region of the swift_proxy_server endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift_proxy_server endpoints.")
glance_api_2013_2_1.param(
'swift_store_ssl_compression', type='string', default='True',
description="If set to False, disables SSL layer compression of https swift requests. Setting to 'False' may improve performance for images which are already in a compressed format, eg qcow2. If set to True, enables SSL layer compression (provided it is supported by the target swift proxy).")
description="If set to False, disables SSL layer compression of https swift_proxy_server requests. Setting to 'False' may improve performance for images which are already in a compressed format, eg qcow2. If set to True, enables SSL layer compression (provided it is supported by the target swift_proxy_server proxy).")
glance_api_2013_2_1.param(
's3_store_host', type='string', default='127.0.0.1:8080/v1.0/',

View File

@@ -1 +0,0 @@
import rubick.schemas.swift.v2013_2

View File

@@ -1,50 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
swift = ConfigSchemaRegistry.register_schema(project='swift')
with swift.version('2013.2') as swift_2013_2:
swift_2013_2.section('swift-hash')
swift_2013_2.param('swift_hash_path_suffix',
type='string', default='changeme', description="")
swift_2013_2.param('swift_hash_path_prefix',
type='string', default='changeme', description="")
swift_2013_2.section('swift-constraints')
swift_2013_2.param(
'max_file_size', type='string', default='5368709122', description="")
swift_2013_2.param('max_meta_name_length',
type='string', default='128', description="")
swift_2013_2.param('max_meta_value_length',
type='string', default='256', description="")
swift_2013_2.param(
'max_meta_count', type='string', default='90', description="")
swift_2013_2.param('max_meta_overall_size',
type='string', default='4096', description="")
swift_2013_2.param(
'max_header_size', type='string', default='8192', description="")
swift_2013_2.param('max_object_name_length',
type='string', default='1024', description="")
swift_2013_2.param('container_listing_limit',
type='string', default='10000', description="")
swift_2013_2.param('account_listing_limit', type='string', default='10000',
description="account_listing_limit is the default "
"(and max) number of items returned for an "
"account listing request")
swift_2013_2.param('max_account_name_length',
type='string', default='256', description="")
swift_2013_2.param('max_container_name_length',
type='string', default='256', description="")

View File

@@ -0,0 +1 @@
import rubick.schemas.swift_account_server.v2013_2_1

View File

@@ -0,0 +1,265 @@
from rubick.schema import ConfigSchemaRegistry
swift_account_server = ConfigSchemaRegistry.register_schema(
project='swift_account_server')
with swift_account_server.version('2013.2.1') as swift_account_server_2013_2_1:
swift_account_server_2013_2_1.section('DEFAULT')
swift_account_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_account_server_2013_2_1.param(
'bind_port', type='string', default='6002')
swift_account_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_account_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_account_server_2013_2_1.param('user', type='string', default='swift')
swift_account_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_account_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_account_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_account_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_account_server_2013_2_1.param(
'workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_account_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_account_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_account_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_account_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_account_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'db_preallocation', type='string', default='off',
description="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.")
swift_account_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_account_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="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.")
swift_account_server_2013_2_1.section('pipeline:main')
swift_account_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon account-server')
swift_account_server_2013_2_1.section('app:account-server')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#account')
swift_account_server_2013_2_1.param(
'set log_name', type='string', default='account-server', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_level', type='string', default='INFO', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_requests', type='string', default='true', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_account_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_account_server_2013_2_1.section('filter:healthcheck')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_account_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_account_server_2013_2_1.section('filter:recon')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-replicator')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_account_server_2013_2_1.param(
'per_diff', type='string', default='1000')
swift_account_server_2013_2_1.param(
'max_diffs', type='string', default='100')
swift_account_server_2013_2_1.param(
'concurrency', type='string', default='8')
swift_account_server_2013_2_1.param(
'interval', type='string', default='30')
swift_account_server_2013_2_1.param(
'error_suppression_interval', type='string', default='60',
description="How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered.")
swift_account_server_2013_2_1.param(
'error_suppression_limit', type='string', default='10',
description="How many errors can accumulate before a node is temporarily ignored.")
swift_account_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_account_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_account_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_account_server_2013_2_1.param(
'run_pause', type='string', default='30', description="Time in seconds to wait between replication passes")
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-auditor')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'interval', type='string', default='1800', description="Will audit each account at most once per interval")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0')
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO')
swift_account_server_2013_2_1.param(
'accounts_per_second', type='string', default='200')
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-reaper')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-reaper',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'concurrency', type='string', default='25')
swift_account_server_2013_2_1.param(
'interval', type='string', default='3600')
swift_account_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_account_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_account_server_2013_2_1.param(
'delay_reaping', type='string', default='0',
description="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.")
swift_account_server_2013_2_1.param(
'reap_warn_after', type='string', default='2592000',
description="If the account fails to be be reaped due to a persistent error, the account reaper will log a message such as: Account <name> has not been reaped since <date> You can search logs for this message if space is not being reclaimed after you delete account(s). Default is 2592000 seconds (30 days). This is in addition to any time requested by delay_reaping.")

View File

@@ -0,0 +1 @@
import rubick.schemas.swift_container_server.v2013_2_1

View File

@@ -0,0 +1,291 @@
from rubick.schema import ConfigSchemaRegistry
swift_container_server = ConfigSchemaRegistry.register_schema(
project='swift_container_server')
with swift_container_server.version('2013.2.1') as swift_container_server_2013_2_1:
swift_container_server_2013_2_1.section('DEFAULT')
swift_container_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_container_server_2013_2_1.param(
'bind_port', type='string', default='6001')
swift_container_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_container_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_container_server_2013_2_1.param(
'user', type='string', default='swift')
swift_container_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_container_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_container_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_container_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_container_server_2013_2_1.param(
'workers', type='string', default='auto', description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_container_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_container_server_2013_2_1.param(
'allowed_sync_hosts', type='string', default='127.0.0.1',
description="This is a comma separated list of hosts allowed in the X-Container-Sync-To field for containers.")
swift_container_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_container_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_container_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_container_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'db_preallocation', type='string', default='off',
description="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.")
swift_container_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_container_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="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.")
swift_container_server_2013_2_1.section('pipeline:main')
swift_container_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon container-server')
swift_container_server_2013_2_1.section('app:container-server')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#container')
swift_container_server_2013_2_1.param(
'set log_name', type='string', default='container-server', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_level', type='string', default='INFO', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_requests', type='string', default='true', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'allow_versions', type='string', default='false')
swift_container_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_container_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_container_server_2013_2_1.section('filter:healthcheck')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_container_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_container_server_2013_2_1.section('filter:recon')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-replicator')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_container_server_2013_2_1.param(
'per_diff', type='string', default='1000')
swift_container_server_2013_2_1.param(
'max_diffs', type='string', default='100')
swift_container_server_2013_2_1.param(
'concurrency', type='string', default='8')
swift_container_server_2013_2_1.param(
'interval', type='string', default='30')
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_container_server_2013_2_1.param(
'run_pause', type='string', default='30', description="Time in seconds to wait between replication passes")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-updater')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-updater',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'interval', type='string', default='300')
swift_container_server_2013_2_1.param(
'concurrency', type='string', default='4')
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'slowdown', type='string', default='0.01', description="slowdown will sleep that amount between containers")
swift_container_server_2013_2_1.param(
'account_suppression_time', type='string', default='60',
description="Seconds to suppress updating an account that has generated an error")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-auditor')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'interval', type='string', default='1800', description="Will audit each container at most once per interval")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift', description="containers_per_second = 200")
swift_container_server_2013_2_1.section('container-sync')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-sync',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'sync_proxy', type='string', default='http://127.0.0.1:8888',
description="If you need to use an HTTP Proxy, set it here; defaults to no proxy.")
swift_container_server_2013_2_1.param(
'interval', type='string', default='300', description="Will sync each container at most once per interval")
swift_container_server_2013_2_1.param(
'container_time', type='string', default='60', description="Maximum amount of time to spend syncing each container per pass")

View File

@@ -0,0 +1 @@
import rubick.schemas.swift_object_server.v2013_2_1

View File

@@ -0,0 +1,313 @@
from rubick.schema import ConfigSchemaRegistry
swift_object_server = ConfigSchemaRegistry.register_schema(
project='swift_object_server')
with swift_object_server.version('2013.2.1') as swift_object_server_2013_2_1:
swift_object_server_2013_2_1.section('DEFAULT')
swift_object_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_object_server_2013_2_1.param(
'bind_port', type='string', default='6000')
swift_object_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_object_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_object_server_2013_2_1.param('user', type='string', default='swift')
swift_object_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_object_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_object_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_object_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_object_server_2013_2_1.param(
'expiring_objects_container_divisor', type='string', default='86400')
swift_object_server_2013_2_1.param(
'workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_object_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_object_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_object_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_object_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_object_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_object_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="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.")
swift_object_server_2013_2_1.section('pipeline:main')
swift_object_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon object-server')
swift_object_server_2013_2_1.section('app:object-server')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#object')
swift_object_server_2013_2_1.param(
'set log_name', type='string', default='object-server',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_requests', type='string', default='true',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_object_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_object_server_2013_2_1.param(
'network_chunk_size', type='string', default='65536')
swift_object_server_2013_2_1.param(
'disk_chunk_size', type='string', default='65536')
swift_object_server_2013_2_1.param(
'max_upload_time', type='string', default='86400')
swift_object_server_2013_2_1.param('slow', type='string', default='0')
swift_object_server_2013_2_1.param(
'keep_cache_size', type='string', default='5424880',
description="Objects smaller than this are not evicted from the buffercache once read")
swift_object_server_2013_2_1.param(
'keep_cache_private', type='string', default='false',
description="If true, objects for authenticated GET requests may be kept in buffer cache if small enough")
swift_object_server_2013_2_1.param(
'mb_per_sync', type='string', default='512', description="on PUTs, sync data every n MB")
swift_object_server_2013_2_1.param(
'allowed_headers', type='string', default='Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object',
description="Comma separated list of headers that can be set in metadata on an object. This list is in addition to X-Object-Meta-* headers and cannot include Content-Type, etag, Content-Length, or deleted")
swift_object_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_object_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_object_server_2013_2_1.param(
'threads_per_disk', type='string', default='0',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'. A value of 0 means 'don't use thread pools'. A reasonable starting point is 4.")
swift_object_server_2013_2_1.section('filter:healthcheck')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_object_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_object_server_2013_2_1.section('filter:recon')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'recon_lock_path', type='string', default='/var/lock')
swift_object_server_2013_2_1.section('object-replicator')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_object_server_2013_2_1.param(
'daemonize', type='string', default='on')
swift_object_server_2013_2_1.param(
'run_pause', type='string', default='30')
swift_object_server_2013_2_1.param(
'concurrency', type='string', default='1')
swift_object_server_2013_2_1.param(
'stats_interval', type='string', default='300')
swift_object_server_2013_2_1.param(
'rsync_timeout', type='string', default='900', description="max duration of a partition rsync")
swift_object_server_2013_2_1.param(
'rsync_bwlimit', type='string', default='0', description="bandwith limit for rsync in kB/s. 0 means unlimited")
swift_object_server_2013_2_1.param(
'rsync_io_timeout', type='string', default='30', description="passed to rsync for io op timeout")
swift_object_server_2013_2_1.param(
'http_timeout', type='string', default='60', description="max duration of an http request")
swift_object_server_2013_2_1.param(
'lockup_timeout', type='string', default='1800',
description="attempts to kill all workers if nothing replicates for lockup_timeout seconds")
swift_object_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_object_server_2013_2_1.param(
'ring_check_interval', type='string', default='15')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'rsync_error_log_line_length', type='string', default='0',
description="limits how long rsync error log lines are 0 means to log the entire line")
swift_object_server_2013_2_1.section('object-updater')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-updater',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'interval', type='string', default='300')
swift_object_server_2013_2_1.param(
'concurrency', type='string', default='1')
swift_object_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_object_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_object_server_2013_2_1.param(
'slowdown', type='string', default='0.01', description="slowdown will sleep that amount between objects")
swift_object_server_2013_2_1.section('object-auditor')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'files_per_second', type='string', default='20')
swift_object_server_2013_2_1.param(
'bytes_per_second', type='string', default='10000000')
swift_object_server_2013_2_1.param(
'log_time', type='string', default='3600')
swift_object_server_2013_2_1.param(
'zero_byte_files_per_second', type='string', default='50')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'object_size_stats', type='string', default='',
description="Takes a comma separated list of ints. If set, the object auditor will increment a counter for every object whose size is <= to the given break points and report the result after a full scan.")

View File

@@ -0,0 +1 @@
import rubick.schemas.swift_proxy_server.v2013_2_1

View File

@@ -0,0 +1,675 @@
from rubick.schema import ConfigSchemaRegistry
swift_proxy_server = ConfigSchemaRegistry.register_schema(
project='swift_proxy_server')
with swift_proxy_server.version('2013.2.1') as swift_proxy_server_2013_2_1:
swift_proxy_server_2013_2_1.section('DEFAULT')
swift_proxy_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_proxy_server_2013_2_1.param('bind_port', type='string', default='80')
swift_proxy_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_proxy_server_2013_2_1.param('backlog', type='string', default='4096')
swift_proxy_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_proxy_server_2013_2_1.param('user', type='string', default='swift')
swift_proxy_server_2013_2_1.param('workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections. Should default to the number of effective cpu cores in the system. It's worth noting that individual workers will use many eventlet co-routines to service multiple concurrent requests.")
swift_proxy_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_proxy_server_2013_2_1.param(
'cert_file', type='string', default='/etc/swift/proxy.crt',
description="Set the following two lines to enable SSL. This is for testing only.")
swift_proxy_server_2013_2_1.param(
'key_file', type='string', default='/etc/swift/proxy.key',
description="Set the following two lines to enable SSL. This is for testing only.")
swift_proxy_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_headers', type='string', default='false', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'trans_id_suffix', type='string', default='',
description="This optional suffix (default is empty) that would be appended to the swift transaction id allows one to easily figure out from which cluster that X-Trans-Id belongs to. This is very useful when one is managing more than one swift cluster.")
swift_proxy_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_proxy_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_proxy_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_proxy_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'cors_allow_origin', type='string', default='',
description="Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar)")
swift_proxy_server_2013_2_1.param(
'client_timeout', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_proxy_server_2013_2_1.section('pipeline:main')
swift_proxy_server_2013_2_1.param(
'pipeline', type='string', default='catch_errors healthcheck proxy-logging cache bulk slo ratelimit tempauth container-quotas account-quotas proxy-logging proxy-server')
swift_proxy_server_2013_2_1.section('app:proxy-server')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#proxy')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='proxy-server',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'log_handoffs', type='string', default='true')
swift_proxy_server_2013_2_1.param(
'recheck_account_existence', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'recheck_container_existence', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'object_chunk_size', type='string', default='8192')
swift_proxy_server_2013_2_1.param(
'client_chunk_size', type='string', default='8192')
swift_proxy_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_proxy_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_proxy_server_2013_2_1.param(
'error_suppression_interval', type='string', default='60',
description="How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered.")
swift_proxy_server_2013_2_1.param(
'error_suppression_limit', type='string', default='10',
description="How many errors can accumulate before a node is temporarily ignored.")
swift_proxy_server_2013_2_1.param(
'allow_account_management', type='string', default='false',
description="If set to 'true' any authorized user may create and delete accounts; if 'false' no one, even authorized, can.")
swift_proxy_server_2013_2_1.param(
'object_post_as_copy', type='string', default='true',
description="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.")
swift_proxy_server_2013_2_1.param(
'account_autocreate', type='string', default='false',
description="If set to 'true' authorized accounts that do not yet exist within the Swift cluster will be automatically created.")
swift_proxy_server_2013_2_1.param(
'max_containers_per_account', type='string', default='0',
description="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.")
swift_proxy_server_2013_2_1.param(
'max_containers_whitelist', type='string', default='',
description="This is a comma separated list of account hashes that ignore the max_containers_per_account cap.")
swift_proxy_server_2013_2_1.param(
'deny_host_headers', type='string', default='',
description="Comma separated list of Host headers to which the proxy will deny requests.")
swift_proxy_server_2013_2_1.param(
'auto_create_account_prefix', type='string',
default='.', description="Prefix used when automatically creating accounts.")
swift_proxy_server_2013_2_1.param(
'put_queue_depth', type='string', default='10', description="Depth of the proxy put queue.")
swift_proxy_server_2013_2_1.param(
'rate_limit_after_segment', type='string', default='10',
description="Start rate-limiting object segment serving after the Nth segment of a segmented object.")
swift_proxy_server_2013_2_1.param(
'rate_limit_segments_per_sec', type='string', default='1',
description="Once segment rate-limiting kicks in for an object, limit segments served to N per second.")
swift_proxy_server_2013_2_1.param(
'sorting_method', type='string', default='shuffle',
description="Storage nodes can be chosen at random (shuffle), by using timing measurements (timing), or by using an explicit match (affinity). Using timing measurements may allow for lower overall latency, while using affinity allows for finer control. In both the timing and affinity cases, equally-sorting nodes are still randomly chosen to spread load. The valid values for sorting_method are 'affinity', 'shuffle', and 'timing'.")
swift_proxy_server_2013_2_1.param(
'timing_expiry', type='string', default='300',
description="If the 'timing' sorting_method is used, the timings will only be valid for the number of seconds configured by timing_expiry.")
swift_proxy_server_2013_2_1.param(
'allow_static_large_object', type='string', default='true',
description="If set to false will treat objects with X-Static-Large-Object header set as a regular object on GETs, i.e. will return that object's contents. Should be set to false if slo is not used in pipeline.")
swift_proxy_server_2013_2_1.param(
'max_large_object_get_time', type='string', default='86400',
description="The maximum time (seconds) that a large object connection is allowed to last.")
swift_proxy_server_2013_2_1.param(
'request_node_count', type='string', default='2 * replicas',
description="Set to the number of nodes to 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.")
swift_proxy_server_2013_2_1.param(
'read_affinity', type='string', default='',
description="Example: first read from region 1 zone 1, then region 1 zone 2, then anything in region 2, then everything else: read_affinity = r1z1=100, r1z2=200, r2=300 Default is empty, meaning no preference.")
swift_proxy_server_2013_2_1.param(
'write_affinity', type='string', default='',
description="Example: try to write to regions 1 and 2 before writing to any other nodes: write_affinity = r1, r2 Default is empty, meaning no preference.")
swift_proxy_server_2013_2_1.param(
'write_affinity_node_count', type='string', default='2 * replicas',
description="The number of local (as governed by the write_affinity setting) nodes to attempt to contact first, before any non-local ones. 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.")
swift_proxy_server_2013_2_1.param(
'swift_owner_headers', type='string', default='x-container-read, x-container-write, x-container-sync-key, x-container-sync-to, x-account-meta-temp-url-key, x-account-meta-temp-url-key-2',
description="These are the headers whose values will only be shown to swift_owners. The exact definition of a swift_owner is up to the auth system in use, but usually indicates administrative responsibilities.")
swift_proxy_server_2013_2_1.section('filter:tempauth')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#tempauth')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='tempauth',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'reseller_prefix', type='string', default='AUTH',
description="The reseller prefix will verify a token begins with this prefix before even attempting to validate it. Also, with authorization, only Swift storage accounts with this prefix will be authorized by this middleware. Useful if multiple auth systems are in use for one Swift cluster.")
swift_proxy_server_2013_2_1.param(
'auth_prefix', type='string', default='/auth/',
description="The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.")
swift_proxy_server_2013_2_1.param(
'token_life', type='string', default='86400',
description="The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.")
swift_proxy_server_2013_2_1.param(
'allow_overrides', type='string', default='true',
description="This allows middleware higher in the WSGI pipeline to override auth processing, useful for middleware such as tempurl and formpost. If you know you're not going to use such middleware and you want a bit of extra security, you can set this to false.")
swift_proxy_server_2013_2_1.param(
'storage_url_scheme', type='string', default='default',
description="This specifies what 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.")
swift_proxy_server_2013_2_1.param(
'user_admin_admin', type='string', default='admin .admin .reseller_admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test_tester', type='string', default='testing .admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test2_tester2', type='string', default='testing2 .admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test_tester3', type='string', default='testing3',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param('paste.filter_factory', type='string',
default='keystoneclient.middleware.auth_token:filter_factory', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_host', type='string', default='keystonehost', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_port', type='string', default='35357', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_protocol', type='string', default='http', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_uri', type='string', default='http://keystonehost:5000/', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_tenant_name', type='string', default='service', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_user', type='string', default='swift', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_password', type='string', default='password', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'delay_auth_decision', type='string', default='1', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'cache', type='string', default='swift.cache', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#keystoneauth', description="[filter:keystoneauth]")
swift_proxy_server_2013_2_1.param(
'operator_roles', type='string', default='admin, swiftoperator',
description="[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others.")
swift_proxy_server_2013_2_1.param(
'reseller_admin_role', type='string', default='ResellerAdmin',
description="[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others. The reseller admin role has the ability to create and delete accounts")
swift_proxy_server_2013_2_1.section('filter:healthcheck')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_proxy_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'. This facility may be used to temporarily remove a Swift node from a load balancer pool during maintenance or upgrade (remove the file to allow the node back into the load balancer pool).")
swift_proxy_server_2013_2_1.section('filter:cache')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#memcache')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='cache',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'memcache_servers', type='string', default='127.0.0.1:11211',
description="If not set here, the value for memcache_servers will be read from memcache.conf (see memcache.conf-sample) or lacking that file, it will default to the value below. You can specify multiple servers separated with commas, as in: 10.1.2.3:11211,10.1.2.4:11211")
swift_proxy_server_2013_2_1.param(
'memcache_serialization_support', type='string', default='2',
description="Sets how memcache values are serialized and deserialized: 0 = older, insecure pickle serialization 1 = json serialization but pickles can still be read (still insecure) 2 = json serialization only (secure and the default) If not set here, the value for memcache_serialization_support will be read from /etc/swift/memcache.conf (see memcache.conf-sample). To avoid an instant full cache flush, existing installations should upgrade with 0, then set to 1 and reload, then after some time (24 hours) set to 2 and reload. In the future, the ability to use pickle serialization will be removed.")
swift_proxy_server_2013_2_1.section('filter:ratelimit')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#ratelimit')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='ratelimit',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'clock_accuracy', type='string', default='1000',
description="clock_accuracy should represent how accurate the proxy servers' system clocks are with each other. 1000 means that all the proxies' clock are accurate to each other within 1 millisecond. No ratelimit should be higher than the clock accuracy.")
swift_proxy_server_2013_2_1.param(
'max_sleep_time_seconds', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'log_sleep_time_seconds', type='string', default='0', description="log_sleep_time_seconds of 0 means disabled")
swift_proxy_server_2013_2_1.param(
'rate_buffer_seconds', type='string', default='5',
description="allows for slow rates (e.g. running up to 5 sec's behind) to catch up.")
swift_proxy_server_2013_2_1.param(
'account_ratelimit', type='string', default='0', description="account_ratelimit of 0 means disabled")
swift_proxy_server_2013_2_1.param(
'account_whitelist', type='string', default='a,b', description="these are comma separated lists of account names")
swift_proxy_server_2013_2_1.param(
'account_blacklist', type='string', default='c,d', description="these are comma separated lists of account names")
swift_proxy_server_2013_2_1.param(
'with container_limit_x', type='string', default='r')
swift_proxy_server_2013_2_1.param(
'container_ratelimit_0', type='string', default='100',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_ratelimit_10', type='string', default='50',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_ratelimit_50', type='string', default='20',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_0', type='string', default='100',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_10', type='string', default='50',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_50', type='string', default='20',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.section('filter:domain_remap')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#domain_remap')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='domain_remap',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'storage_domain', type='string', default='example.com')
swift_proxy_server_2013_2_1.param('path_root', type='string', default='v1')
swift_proxy_server_2013_2_1.param(
'reseller_prefixes', type='string', default='AUTH')
swift_proxy_server_2013_2_1.section('filter:catch_errors')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#catch_errors')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='catch_errors',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.section('filter:cname_lookup')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#cname_lookup', description="Note: this middleware requires python-dnspython")
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='cname_lookup',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'storage_domain', type='string', default='example.com')
swift_proxy_server_2013_2_1.param(
'lookup_depth', type='string', default='1')
swift_proxy_server_2013_2_1.section('filter:staticweb')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#staticweb')
swift_proxy_server_2013_2_1.section('filter:tempurl')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#tempurl')
swift_proxy_server_2013_2_1.param(
'methods', type='string', default='GET HEAD PUT', description="The methods allowed with Temp URLs.")
swift_proxy_server_2013_2_1.param(
'incoming_remove_headers', type='string', default='x-timestamp',
description="The headers to remove from incoming requests. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. incoming_allow_headers is a list of exceptions to these removals.")
swift_proxy_server_2013_2_1.param(
'incoming_allow_headers', type='string', default='',
description="The headers allowed as exceptions to incoming_remove_headers. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match.")
swift_proxy_server_2013_2_1.param(
'outgoing_remove_headers', type='string', default='x-object-meta-*',
description="The headers to remove from outgoing responses. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. outgoing_allow_headers is a list of exceptions to these removals.")
swift_proxy_server_2013_2_1.section('filter:formpost')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#formpost')
swift_proxy_server_2013_2_1.section('filter:name_check')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#name_check')
swift_proxy_server_2013_2_1.param(
'forbidden_chars', type='string', default='\'"`<>')
swift_proxy_server_2013_2_1.param(
'maximum_length', type='string', default='255')
swift_proxy_server_2013_2_1.param(
'forbidden_regexp', type='string', default='/\\./|/\\.\\./|/\\.$|/\\.\\.$')
swift_proxy_server_2013_2_1.section('filter:list-endpoints')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#list_endpoints')
swift_proxy_server_2013_2_1.param(
'list_endpoints_path', type='string', default='/endpoints/')
swift_proxy_server_2013_2_1.section('filter:proxy-logging')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#proxy_logging')
swift_proxy_server_2013_2_1.param(
'access_log_name', type='string', default='swift',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_facility', type='string', default='LOG_LOCAL0',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_level', type='string', default='INFO',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_address', type='string', default='/dev/log',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_udp_host', type='string', default='',
description="If set, access_log_udp_host will override access_log_address")
swift_proxy_server_2013_2_1.param(
'access_log_udp_port', type='string', default='514',
description="If set, access_log_udp_host will override access_log_address")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_host', type='host', default='localhost',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_port', type='string', default='8125',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_default_sample_rate', type='string',
default='1.0', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_sample_rate_factor', type='string',
default='1.0', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_metric_prefix', type='string',
default='', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_headers', type='string', default='false',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.section('filter:bulk')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#bulk')
swift_proxy_server_2013_2_1.param(
'max_containers_per_extraction', type='string', default='10000')
swift_proxy_server_2013_2_1.param(
'max_failed_extractions', type='string', default='1000')
swift_proxy_server_2013_2_1.param(
'max_deletes_per_request', type='string', default='10000')
swift_proxy_server_2013_2_1.param(
'yield_frequency', type='string', default='60')
swift_proxy_server_2013_2_1.section('filter:container-quotas')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#container_quotas')
swift_proxy_server_2013_2_1.section('filter:slo')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#slo')
swift_proxy_server_2013_2_1.param(
'max_manifest_segments', type='string', default='1000')
swift_proxy_server_2013_2_1.param(
'max_manifest_size', type='string', default='2097152')
swift_proxy_server_2013_2_1.param(
'min_segment_size', type='string', default='1048576')
swift_proxy_server_2013_2_1.section('filter:account-quotas')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#account_quotas')