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.
This seems like somethign that should get addressed sooner rather than later