Document Swift config options and defaults in sample configs

Bug #661267 reported by clayg on 2010-10-15
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Tom Fifield

Bug Description

If there's time, it would be nice to try and track down some more "config option easter eggs" that could added to the conf-sample's (e.g. object-replicator.ring_check_interval) and some defaults that don't match the configs (e.g. object-replicator.timeout)

Anne Gentle (annegentle) wrote :

I'd love to do this - does the information belong in deployment_guide.rst?

John Dickinson (notmyname) wrote :

Config options are detailed in deployment_guide.rst, but I would suggest that, if it gets too long, we may want to put config descriptions in a separate file.

clayg (clay-gerrard) wrote :

As the OP, I'd like to clarify that my intent for this bug report was to purpose that all options which ARE configurable (i.e. a conf.get('option-name', <default>) exists somewhere) SHOULD have a place-holder in their respective "/etc/<server-type>.conf-sample" file with an accurate default value reflected.

I do not know if further "description" of these config options is warranted in /doc - as I haven't looked to see to what extent which options are or are not discussed?

Chuck Thier (cthier) on 2010-10-22
Changed in swift:
assignee: nobody → Anne Gentle (annegentle)
clayg (clay-gerrard) on 2010-11-23
tags: added: documentation
affects: swift → openstack-manuals
Anne Gentle (annegentle) on 2011-12-05
Changed in openstack-manuals:
assignee: Anne Gentle (annegentle) → nobody
status: New → Confirmed
Anne Gentle (annegentle) on 2012-03-20
summary: - document config options and defaults in sample configs
+ Document Swift config options and defaults in sample configs
Tom Fifield (fifieldt) wrote :

There is now

and under swift/etc


which look to solve this bug?

Tom Fifield (fifieldt) wrote :

Comment withdrawn -- alas, after many months ring_check_interval still hasn't made it in it seems :)

Tom Fifield (fifieldt) wrote :
Download full text (4.2 KiB)

can use something like
 egrep -h -o 'conf.get\('.*'\)|conf.get\('.*', .*\)' * | sort | uniq

to generate a list like below that can be compared against what's in the conf-samples.

conf.get('access_' + key, conf.get(key, None))
conf.get('account_autocreate', 'no').lower()
conf.get('account_blacklist', '').split(',') if acc.strip()
conf.get('account_ratelimit', 0))
conf.get('account_suppression_time', 60))
conf.get('account_whitelist', '').split(',') if acc.strip()
conf.get('allow_account_management', 'no').lower()
conf.get('allowed_sync_hosts', '').split(',')
conf.get('allow_overrides', 't').lower()
conf.get('allow_versions', 'f').lower()
conf.get('auth_prefix', '/auth/')
conf.get('auth_ssl', 'no').lower() in ('yes', 'true', 'on', '1')
conf.get('auth_version', '1.0'))
conf.get('backlog', 4096))
conf.get('bind_ip', '')
conf.get('bind_ip', '')
conf.get('bind_port', 6000))
conf.get('bind_port', 6001))
conf.get('bind_port', '8080')
conf.get('cache_timeout', 300))
conf.get('client_chunk_size', 65536))
conf.get('client_timeout', 60))
conf.get('clock_accuracy', 1000))
conf.get('concurrency', 1))
conf.get('concurrency', 25))
conf.get('concurrency', 4))
conf.get('concurrency', 8))
conf.get('conn_timeout', 0.5))
conf.get('container_time', 60))
conf.get('daemonize', 'true').lower()
conf.get('db_preallocation', 't').lower()
conf.get('delay_reaping') or 0)
conf.get('deny_host_headers', '').split(',') if host.strip()
conf.get('device_dir', '/srv/node')
conf.get('devices', '/srv/node/')
conf.get('devices', '/srv/node')
conf.get('disk_chunk_size', 65536))
conf.get('dispersion_coverage', 1))
conf.get('dump_json', 'no').lower()
conf.get('error_limit', 1))
conf.get('error_suppression_interval', 60))
conf.get('error_suppression_limit', 10))
conf.get('expiring_objects_container_divisor') or 86400)
conf.get('files_per_second', 20))
conf.get('http_timeout', 60))
conf.get('interval', 1800))
conf.get('interval', 300))
conf.get('interval', 3600))
conf.get('ip', '')
conf.get('lockup_timeout', 1800))
conf.get('log_facility', 'LOG_LOCAL0')
conf.get('log_headers', 'f').lower()
conf.get('log_headers', 'no').lower()
conf.get('log_headers') == 'True'
conf.get('log_level', 'INFO').upper(), logging.INFO))
conf.get('log_name', app_section)
conf.get('log_name', 'drive-audit')
conf.get('log_name', 'recon-cron')
conf.get('log_name', section_name)
conf.get('log_name', section_name),
conf.get('log_name', 'swift')
conf.get('log_requests', 't')[:1].lower()
conf.get('log_sleep_time_seconds', 0))
conf.get('log_time', 3600))
conf.get('lookup_depth', '1'))
conf.get('max_containers_per_account') or 0)
conf.get('max_containers_whitelist', '').split(',')
conf.get('max_diffs') or 100)
conf.get('maximum_length', MAX_LENGTH)
conf.get('max_sleep_time_seconds', 60))
conf.get('max_upload_time', 86400))
conf.get('mb_per_sync', 512))
conf.get('memcache', 'memcache_servers')
conf.get('minutes', 60))
conf.get('mount_check', 'true').lower()
conf.get('network_chunk_size', 6...


Anne Gentle (annegentle) wrote :

Nice work Tom! Thanks.

Tom Fifield (fifieldt) wrote :

phew - done.

attempted fix at:

Next up - submitting bugs for stuff that's missing from the docs ;)

Changed in openstack-manuals:
status: Confirmed → In Progress
assignee: nobody → Tom Fifield (fifieldt)
Tom Fifield (fifieldt) on 2012-05-04
Changed in openstack-manuals:
status: In Progress → Fix Committed
Anne Gentle (annegentle) wrote :

Adding delay_reaping to the account-server.conf reaper options table in objectstorageadmin.xml.

Now shows up here.

Tom Fifield (fifieldt) wrote :

Anne, I made a tonne of new bugs for the challenge of getting the manual to be consistent with the configuration examples in the hope that it would split the workload more easily :)

Unfortunately the change to objectstorageadmin.xml has introduced another bug - check out the default value for 'delay_reaping' and tell me that's not a copy/paste error ^_^

#994354 swift proxy catch_errors functionality is undocumented
#994353 swift proxy cname_lookup functionality is undocumented
#994352 swift proxy domain_remap functionality is undocumented
#994350 swift proxy healthcheck function is undocumented
#994338 use of dedicated config file for swift memcache undocumented
#994334 swift object server - config options missing from docs
#994332 swift proxy name_check function is undocumented
#994330 swift proxy ratelimit function - config options missing from docs
#994328 swift staticweb is undocumented
#994326 swift tempauth is undocumented
#994324 swift dispersion undocumented
#994322 swift container server - config options missing from docs
#994321 swift account server - config options missing from docs

Tom Fifield (fifieldt) on 2012-05-06
Changed in openstack-manuals:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers