Public bug reported: In general[1] it is incorrect to use the value of a config variable at import time, because although the config variable may have been registered, its value will not have been loaded. The result will always be the default value, regardless of the contents of the relevant config file.
I did a quick scan of Nova, and found the following instances of config variables being used in import context: nova/api/openstack/common.py:limited() nova/api/openstack/common.py:get_limit_and_marker() nova/compute/manager.py:_heal_instance_info_cache() nova/compute/manager.py:_poll_shelved_instances() nova/compute/manager.py:_poll_bandwidth_usage() nova/compute/manager.py:_poll_volume_usage() nova/compute/manager.py:_sync_power_states() nova/compute/manager.py:_cleanup_running_deleted_instances() nova/compute/manager.py:_run_image_cache_manager_pass() nova/compute/manager.py:_run_pending_deletes() nova/network/manager.py:_periodic_update_dns() nova/scheduler/manager.py:_run_periodic_tasks() Consequently, it appears that the given values of the following config variables are being ignored: osapi_max_limit heal_instance_info_cache_interval shelved_poll_interval bandwidth_poll_interval volume_usage_poll_interval sync_power_state_interval running_deleted_instance_poll_interval image_cache_manager_interval instance_delete_interval dns_update_periodic_interval scheduler_driver_task_period [1] This doesn't apply to drivers, which are loaded dynamically after the config has been loaded. However, relying on that seems even nastier. ** Affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1354403 Title: Numerous config options ignored due to CONF used in import context Status in OpenStack Compute (Nova): New Bug description: In general[1] it is incorrect to use the value of a config variable at import time, because although the config variable may have been registered, its value will not have been loaded. The result will always be the default value, regardless of the contents of the relevant config file. I did a quick scan of Nova, and found the following instances of config variables being used in import context: nova/api/openstack/common.py:limited() nova/api/openstack/common.py:get_limit_and_marker() nova/compute/manager.py:_heal_instance_info_cache() nova/compute/manager.py:_poll_shelved_instances() nova/compute/manager.py:_poll_bandwidth_usage() nova/compute/manager.py:_poll_volume_usage() nova/compute/manager.py:_sync_power_states() nova/compute/manager.py:_cleanup_running_deleted_instances() nova/compute/manager.py:_run_image_cache_manager_pass() nova/compute/manager.py:_run_pending_deletes() nova/network/manager.py:_periodic_update_dns() nova/scheduler/manager.py:_run_periodic_tasks() Consequently, it appears that the given values of the following config variables are being ignored: osapi_max_limit heal_instance_info_cache_interval shelved_poll_interval bandwidth_poll_interval volume_usage_poll_interval sync_power_state_interval running_deleted_instance_poll_interval image_cache_manager_interval instance_delete_interval dns_update_periodic_interval scheduler_driver_task_period [1] This doesn't apply to drivers, which are loaded dynamically after the config has been loaded. However, relying on that seems even nastier. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1354403/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp