Properly scope config option registrations
Many config options within Nova are declared either globally - i.e. in nova.config.
Often, config options can be declared and used within the one module. This is ideal because it is clear the option is only intended for use by that module and its declaration is easily found.
Even where multiple modules use a given option, one of those modules is often a natural place to declare it and the other modules can use CONF.import_opt() to explicitly declare their dependency on the option.
Scoping options in this way will also help us figure out groups to put options which will, in turn, help users make sense of the config file.
Blueprint information
- Status:
- Complete
- Approver:
- Russell Bryant
- Priority:
- Medium
- Drafter:
- Mark McLoughlin
- Direction:
- Approved
- Assignee:
- Mark McLoughlin
- Definition:
- Approved
- Series goal:
- Accepted for grizzly
- Implementation:
- Implemented
- Milestone target:
- 2013.1
- Started by
- Russell Bryant
- Completed by
- Russell Bryant
Related branches
Related bugs
Sprints
Whiteboard
It's going to be pretty unclear when this blueprint is completed - it could be a never-ending cleanup job. But, one way of judging completeness is if nova.config only has a small number of options declared there.
For reference, there was originally 84 options declared in nova.config.
Addressed by: https:/
Move compute opts from nova.config
Addressed by: https:/
Re-organize compute opts a bit
Addressed by: https:/
Move compute_driver into nova.virt.driver
Addressed by: https:/
Move imagecache code from nova.virt.
Addressed by: https:/
Move ec2 config opts to nova.api.ec2.cloud
Addressed by: https:/
Remove default_image config option
Addressed by: https:/
Clean up setting of control_exchange default
Addressed by: https:/
Move api_paste_config option into nova.wsgi
Addressed by: https:/
Move api_rate_limit and auth_strategy to nova.api
Addressed by: https:/
Move cache_images to nova.virt.
Addressed by: https:/
Move some options into nova.image.glance
Addressed by: https:/
Move zombie_
Addressed by: https:/
Move monkey patch config opts into nova.utils
Addressed by: https:/
Properly scope isolated hosts config opts
For reference, there are 54 options declared in nova.config now.
Addressed by: https:/
Properly scope password options
Addressed by: https:/
Move some opts into nova.utils
Addressed by: https:/
Move link_prefix options into api.openstack.
Addressed by: https:/
Move osapi_max_limit into api.openstack.
Addressed by: https:/
Move API extension opts to api.openstack.
Addressed by: https:/
Move metadata_
Addressed by: https:/
Move DNS manager options into network.manager
Addressed by: https:/
Move network_driver into new nova.network.driver
For reference, there are 39 options declared in nova.config now.
Addressed by: https:/
Move fake_network opt to nova.network.
Addressed by: https:/
Remove unused aws access key opts
Addressed by: https:/
Move global glance opts into nova.image.glance
Addressed by: https:/
Move global s3 opts into nova.image.s3
Addressed by: https:/
Move cert_topic into nova.cert.rpcapi
Addressed by: https:/
Move network_topic into nova.network.rpcapi
Addressed by: https:/
Move console_topic into nova.console.rpcapi
Addressed by: https:/
Move scheduler_topic into nova.scheduler.
Addressed by: https:/
Move compute_topic into nova.compute.rpcapi
Addressed by: https:/
Move manager options into nova.service
Addressed by: https:/
Move api_class options to where they are used
Addressed by: https:/
Move osapi_compute_
Addressed by: https:/
Move default_
Addressed by: https:/
Move common virt driver options to virt.driver
Addressed by: https:/
Move enabled_apis option into nova.service
Addressed by: https:/
Move vpn_image_id to pipelib
Addressed by: https:/
Move vpn_key_suffix into pipelib
Addressed by: https:/
Move 2 more service opts to nova.service
Addressed by: https:/
Move memcached_servers opt into common.memorycache
Addressed by: https:/
Move global service networking opts to new module
Ok, that's a wrap! No more global options in nova.config