← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1354403] [NEW] Numerous config options ignored due to CONF used in import context

 

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


Follow ups

References