Document Swift config options and defaults in sample configs

Bug #661267 reported by clayg on 2010-10-15
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
openstack-manuals
Medium
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

http://docs.openstack.org/trunk/openstack-object-storage/admin/content/object-server-configuration.html
http://docs.openstack.org/trunk/openstack-object-storage/admin/content/container-server-configuration.html
http://docs.openstack.org/trunk/openstack-object-storage/admin/content/account-server-configuration.html
http://docs.openstack.org/trunk/openstack-object-storage/admin/content/proxy-server-configuration.html

and under swift/etc

account-server.conf-sample
container-server.conf-sample
dispersion.conf-sample
drive-audit.conf-sample
memcache.conf-sample
mime.types-sample
object-expirer.conf-sample
object-server.conf-sample
proxy-server.conf-sample
rsyncd.conf-sample
swift.conf-sample

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_headers',
conf.get('allowed_sync_hosts', '127.0.0.1').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('auto_create_account_prefix')
conf.get('backlog', 4096))
conf.get('bind_ip', '0.0.0.0')
conf.get('bind_ip', '127.0.0.1')
conf.get('bind_port', 6000))
conf.get('bind_port', 6001))
conf.get('bind_port', '8080')
conf.get('bytes_per_second',
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('__file__')
conf.get('files_per_second', 20))
conf.get('forbidden_chars',
conf.get('http_timeout', 60))
conf.get('interval', 1800))
conf.get('interval', 300))
conf.get('interval', 3600))
conf.get('ip', '127.0.0.1')
conf.get('lockup_timeout', 1800))
conf.get('log_facility', 'LOG_LOCAL0')
conf.get('log_headers')
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('memcache_servers')
conf.get('minutes', 60))
conf.get('mount_check', 'true').lower()
conf.get('network_chunk_size', 6...

Read more...

Anne Gentle (annegentle) wrote :

Nice work Tom! Thanks.

Tom Fifield (fifieldt) wrote :

phew - done.

attempted fix at:
https://review.openstack.org/6898

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.
http://docs.openstack.org/trunk/openstack-object-storage/admin/content/account-server-configuration.html

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