Document Swift config options and defaults in sample configs

Bug #661267 reported by clayg
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
openstack-manuals
Fix Released
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)

Revision history for this message
Anne Gentle (annegentle) wrote :

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

Revision history for this message
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.

Revision history for this message
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)
Changed in swift:
assignee: nobody → Anne Gentle (annegentle)
clayg (clay-gerrard)
tags: added: documentation
affects: swift → openstack-manuals
Anne Gentle (annegentle)
Changed in openstack-manuals:
assignee: Anne Gentle (annegentle) → nobody
status: New → Confirmed
Anne Gentle (annegentle)
summary: - document config options and defaults in sample configs
+ Document Swift config options and defaults in sample configs
Revision history for this message
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?

Revision history for this message
Tom Fifield (fifieldt) wrote :

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

Revision history for this message
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...

Revision history for this message
Tom Fifield (fifieldt) wrote :
Revision history for this message
Anne Gentle (annegentle) wrote :

Nice work Tom! Thanks.

Revision history for this message
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)
Changed in openstack-manuals:
status: In Progress → Fix Committed
Revision history for this message
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

Revision history for this message
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)
Changed in openstack-manuals:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.