summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2012-11-04 21:32:51 +0000
committerMark McLoughlin <markmc@redhat.com>2012-11-04 22:33:01 +0000
commit7931f9a2a556bf38e19f501cac345264ff771d5c (patch)
tree53c74d6ba844bd787670ec113239864e289b9cf9
parent8ce58defbe560b1da34d991b38ac64a9b4c8d654 (diff)
downloadnova-7931f9a2a556bf38e19f501cac345264ff771d5c.tar.gz
nova-7931f9a2a556bf38e19f501cac345264ff771d5c.tar.xz
nova-7931f9a2a556bf38e19f501cac345264ff771d5c.zip
Switch from FLAGS to CONF in nova.scheduler
Use the global CONF variable instead of FLAGS. This is purely a cleanup since FLAGS is already just another reference to CONF. We leave the nova.flags imports until a later cleanup commit since removing them may cause unpredictable problems due to config options not being registered. Change-Id: Ia3f66aec300fd88e91cef926da735f9e95aa2cc2
-rw-r--r--nova/scheduler/chance.py7
-rw-r--r--nova/scheduler/driver.py10
-rw-r--r--nova/scheduler/filter_scheduler.py18
-rw-r--r--nova/scheduler/filters/compute_filter.py5
-rw-r--r--nova/scheduler/filters/core_filter.py9
-rw-r--r--nova/scheduler/filters/disk_filter.py7
-rw-r--r--nova/scheduler/filters/io_ops_filter.py7
-rw-r--r--nova/scheduler/filters/isolated_hosts_filter.py9
-rw-r--r--nova/scheduler/filters/num_instances_filter.py7
-rw-r--r--nova/scheduler/filters/ram_filter.py7
-rw-r--r--nova/scheduler/filters/trusted_filter.py17
-rw-r--r--nova/scheduler/host_manager.py11
-rw-r--r--nova/scheduler/least_cost.py5
-rw-r--r--nova/scheduler/manager.py7
-rw-r--r--nova/scheduler/multi.py9
-rw-r--r--nova/scheduler/rpcapi.py6
-rw-r--r--nova/scheduler/scheduler_options.py7
17 files changed, 80 insertions, 68 deletions
diff --git a/nova/scheduler/chance.py b/nova/scheduler/chance.py
index 6d6288d83..1a608da29 100644
--- a/nova/scheduler/chance.py
+++ b/nova/scheduler/chance.py
@@ -23,11 +23,12 @@ Chance (Random) Scheduler implementation
import random
+from nova import config
from nova import exception
from nova import flags
from nova.scheduler import driver
-FLAGS = flags.FLAGS
+CONF = config.CONF
class ChanceScheduler(driver.Scheduler):
@@ -65,7 +66,7 @@ class ChanceScheduler(driver.Scheduler):
for num, instance_uuid in enumerate(instance_uuids):
request_spec['instance_properties']['launch_index'] = num
try:
- host = self._schedule(context, FLAGS.compute_topic,
+ host = self._schedule(context, CONF.compute_topic,
request_spec, filter_properties)
updated_instance = driver.instance_update_db(context,
instance_uuid)
@@ -88,7 +89,7 @@ class ChanceScheduler(driver.Scheduler):
filter_properties, instance, instance_type,
reservations):
"""Select a target for resize."""
- host = self._schedule(context, FLAGS.compute_topic, request_spec,
+ host = self._schedule(context, CONF.compute_topic, request_spec,
filter_properties)
self.compute_rpcapi.prep_resize(context, image, instance,
instance_type, host, reservations)
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 13f0029ee..f93268906 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -53,8 +53,8 @@ scheduler_driver_opts = [
help='Maximum number of attempts to schedule an instance'),
]
-FLAGS = flags.FLAGS
-FLAGS.register_opts(scheduler_driver_opts)
+CONF = config.CONF
+CONF.register_opts(scheduler_driver_opts)
CONF = config.CONF
CONF.import_opt('instances_path', 'nova.compute.manager')
@@ -107,7 +107,7 @@ def cast_to_compute_host(context, host, method, **kwargs):
instance_update_db(context, instance_uuid)
rpc.cast(context,
- rpc.queue_get_for(context, FLAGS.compute_topic, host),
+ rpc.queue_get_for(context, CONF.compute_topic, host),
{"method": method, "args": kwargs})
LOG.debug(_("Casted '%(method)s' to compute '%(host)s'") % locals())
@@ -115,7 +115,7 @@ def cast_to_compute_host(context, host, method, **kwargs):
def cast_to_host(context, topic, host, method, **kwargs):
"""Generic cast to host"""
- topic_mapping = {FLAGS.compute_topic: cast_to_compute_host}
+ topic_mapping = {CONF.compute_topic: cast_to_compute_host}
func = topic_mapping.get(topic)
if func:
@@ -151,7 +151,7 @@ class Scheduler(object):
def __init__(self):
self.host_manager = importutils.import_object(
- FLAGS.scheduler_host_manager)
+ CONF.scheduler_host_manager)
self.compute_api = compute_api.API()
self.compute_rpcapi = compute_rpcapi.ComputeAPI()
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index 78bd49a96..c43e48876 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -21,6 +21,7 @@ Weighing Functions.
import operator
+from nova import config
from nova import exception
from nova import flags
from nova.openstack.common import importutils
@@ -30,8 +31,7 @@ from nova.scheduler import driver
from nova.scheduler import least_cost
from nova.scheduler import scheduler_options
-
-FLAGS = flags.FLAGS
+CONF = config.CONF
LOG = logging.getLogger(__name__)
@@ -61,7 +61,7 @@ class FilterScheduler(driver.Scheduler):
notifier.notify(context, notifier.publisher_id("scheduler"),
'scheduler.run_instance.start', notifier.INFO, payload)
- weighted_hosts = self._schedule(context, FLAGS.compute_topic,
+ weighted_hosts = self._schedule(context, CONF.compute_topic,
request_spec, filter_properties,
instance_uuids)
@@ -108,7 +108,7 @@ class FilterScheduler(driver.Scheduler):
the prep_resize operation to it.
"""
- hosts = self._schedule(context, FLAGS.compute_topic, request_spec,
+ hosts = self._schedule(context, CONF.compute_topic, request_spec,
filter_properties, [instance['uuid']])
if not hosts:
raise exception.NoValidHost(reason="")
@@ -187,7 +187,7 @@ class FilterScheduler(driver.Scheduler):
filter_properties['os_type'] = os_type
def _max_attempts(self):
- max_attempts = FLAGS.scheduler_max_attempts
+ max_attempts = CONF.scheduler_max_attempts
if max_attempts < 1:
raise exception.NovaException(_("Invalid value for "
"'scheduler_max_attempts', must be >= 1"))
@@ -226,7 +226,7 @@ class FilterScheduler(driver.Scheduler):
ordered by their fitness.
"""
elevated = context.elevated()
- if topic != FLAGS.compute_topic:
+ if topic != CONF.compute_topic:
msg = _("Scheduler only understands Compute nodes (for now)")
raise NotImplementedError(msg)
@@ -306,12 +306,12 @@ class FilterScheduler(driver.Scheduler):
"""
if topic is None:
# Schedulers only support compute right now.
- topic = FLAGS.compute_topic
+ topic = CONF.compute_topic
if topic in self.cost_function_cache:
return self.cost_function_cache[topic]
cost_fns = []
- for cost_fn_str in FLAGS.least_cost_functions:
+ for cost_fn_str in CONF.least_cost_functions:
if '.' in cost_fn_str:
short_name = cost_fn_str.split('.')[-1]
else:
@@ -333,7 +333,7 @@ class FilterScheduler(driver.Scheduler):
try:
flag_name = "%s_weight" % cost_fn.__name__
- weight = getattr(FLAGS, flag_name)
+ weight = getattr(CONF, flag_name)
except AttributeError:
raise exception.SchedulerWeightFlagNotFound(
flag_name=flag_name)
diff --git a/nova/scheduler/filters/compute_filter.py b/nova/scheduler/filters/compute_filter.py
index 4af71c7b4..202f8232a 100644
--- a/nova/scheduler/filters/compute_filter.py
+++ b/nova/scheduler/filters/compute_filter.py
@@ -13,12 +13,13 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import log as logging
from nova.scheduler import filters
from nova import utils
-FLAGS = flags.FLAGS
+CONF = config.CONF
LOG = logging.getLogger(__name__)
@@ -29,7 +30,7 @@ class ComputeFilter(filters.BaseHostFilter):
def host_passes(self, host_state, filter_properties):
"""Returns True for only active compute nodes"""
instance_type = filter_properties.get('instance_type')
- if host_state.topic != FLAGS.compute_topic or not instance_type:
+ if host_state.topic != CONF.compute_topic or not instance_type:
return True
capabilities = host_state.capabilities
service = host_state.service
diff --git a/nova/scheduler/filters/core_filter.py b/nova/scheduler/filters/core_filter.py
index 0c4a67dcc..9c93df930 100644
--- a/nova/scheduler/filters/core_filter.py
+++ b/nova/scheduler/filters/core_filter.py
@@ -15,6 +15,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -27,8 +28,8 @@ cpu_allocation_ratio_opt = cfg.FloatOpt('cpu_allocation_ratio',
default=16.0,
help='Virtual CPU to Physical CPU allocation ratio')
-FLAGS = flags.FLAGS
-FLAGS.register_opt(cpu_allocation_ratio_opt)
+CONF = config.CONF
+CONF.register_opt(cpu_allocation_ratio_opt)
class CoreFilter(filters.BaseHostFilter):
@@ -37,7 +38,7 @@ class CoreFilter(filters.BaseHostFilter):
def host_passes(self, host_state, filter_properties):
"""Return True if host has sufficient CPU cores."""
instance_type = filter_properties.get('instance_type')
- if host_state.topic != FLAGS.compute_topic or not instance_type:
+ if host_state.topic != CONF.compute_topic or not instance_type:
return True
if not host_state.vcpus_total:
@@ -46,7 +47,7 @@ class CoreFilter(filters.BaseHostFilter):
return True
instance_vcpus = instance_type['vcpus']
- vcpus_total = host_state.vcpus_total * FLAGS.cpu_allocation_ratio
+ vcpus_total = host_state.vcpus_total * CONF.cpu_allocation_ratio
# Only provide a VCPU limit to compute if the virt driver is reporting
# an accurate count of installed VCPUs. (XenServer driver does not)
diff --git a/nova/scheduler/filters/disk_filter.py b/nova/scheduler/filters/disk_filter.py
index 88b8c3377..358583b8a 100644
--- a/nova/scheduler/filters/disk_filter.py
+++ b/nova/scheduler/filters/disk_filter.py
@@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -23,8 +24,8 @@ LOG = logging.getLogger(__name__)
disk_allocation_ratio_opt = cfg.FloatOpt("disk_allocation_ratio", default=1.0,
help="virtual disk to physical disk allocation ratio")
-FLAGS = flags.FLAGS
-FLAGS.register_opt(disk_allocation_ratio_opt)
+CONF = config.CONF
+CONF.register_opt(disk_allocation_ratio_opt)
class DiskFilter(filters.BaseHostFilter):
@@ -39,7 +40,7 @@ class DiskFilter(filters.BaseHostFilter):
free_disk_mb = host_state.free_disk_mb
total_usable_disk_mb = host_state.total_usable_disk_gb * 1024
- disk_mb_limit = total_usable_disk_mb * FLAGS.disk_allocation_ratio
+ disk_mb_limit = total_usable_disk_mb * CONF.disk_allocation_ratio
used_disk_mb = total_usable_disk_mb - free_disk_mb
usable_disk_mb = disk_mb_limit - used_disk_mb
diff --git a/nova/scheduler/filters/io_ops_filter.py b/nova/scheduler/filters/io_ops_filter.py
index c2e0205a3..1b40bae62 100644
--- a/nova/scheduler/filters/io_ops_filter.py
+++ b/nova/scheduler/filters/io_ops_filter.py
@@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -24,8 +25,8 @@ max_io_ops_per_host_opt = cfg.IntOpt("max_io_ops_per_host",
default=8,
help="Ignore hosts that have too many builds/resizes/snaps/migrations")
-FLAGS = flags.FLAGS
-FLAGS.register_opt(max_io_ops_per_host_opt)
+CONF = config.CONF
+CONF.register_opt(max_io_ops_per_host_opt)
class IoOpsFilter(filters.BaseHostFilter):
@@ -36,7 +37,7 @@ class IoOpsFilter(filters.BaseHostFilter):
compute node statistics to decide whether to filter.
"""
num_io_ops = host_state.num_io_ops
- max_io_ops = FLAGS.max_io_ops_per_host
+ max_io_ops = CONF.max_io_ops_per_host
passes = num_io_ops < max_io_ops
if not passes:
LOG.debug(_("%(host_state)s fails I/O ops check: Max IOs per host "
diff --git a/nova/scheduler/filters/isolated_hosts_filter.py b/nova/scheduler/filters/isolated_hosts_filter.py
index 0d67b7b80..d1d16b80b 100644
--- a/nova/scheduler/filters/isolated_hosts_filter.py
+++ b/nova/scheduler/filters/isolated_hosts_filter.py
@@ -13,12 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-
+from nova import config
from nova import flags
from nova.scheduler import filters
-
-FLAGS = flags.FLAGS
+CONF = config.CONF
class IsolatedHostsFilter(filters.BaseHostFilter):
@@ -28,6 +27,6 @@ class IsolatedHostsFilter(filters.BaseHostFilter):
spec = filter_properties.get('request_spec', {})
props = spec.get('instance_properties', {})
image_ref = props.get('image_ref')
- image_isolated = image_ref in FLAGS.isolated_images
- host_isolated = host_state.host in FLAGS.isolated_hosts
+ image_isolated = image_ref in CONF.isolated_images
+ host_isolated = host_state.host in CONF.isolated_hosts
return image_isolated == host_isolated
diff --git a/nova/scheduler/filters/num_instances_filter.py b/nova/scheduler/filters/num_instances_filter.py
index e96539c0c..17c7ebc22 100644
--- a/nova/scheduler/filters/num_instances_filter.py
+++ b/nova/scheduler/filters/num_instances_filter.py
@@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -24,8 +25,8 @@ max_instances_per_host_opt = cfg.IntOpt("max_instances_per_host",
default=50,
help="Ignore hosts that have too many instances")
-FLAGS = flags.FLAGS
-FLAGS.register_opt(max_instances_per_host_opt)
+CONF = config.CONF
+CONF.register_opt(max_instances_per_host_opt)
class NumInstancesFilter(filters.BaseHostFilter):
@@ -33,7 +34,7 @@ class NumInstancesFilter(filters.BaseHostFilter):
def host_passes(self, host_state, filter_properties):
num_instances = host_state.num_instances
- max_instances = FLAGS.max_instances_per_host
+ max_instances = CONF.max_instances_per_host
passes = num_instances < max_instances
if not passes:
LOG.debug(_("%(host_state)s fails num_instances check: Max "
diff --git a/nova/scheduler/filters/ram_filter.py b/nova/scheduler/filters/ram_filter.py
index 22ba0252c..85370dc2c 100644
--- a/nova/scheduler/filters/ram_filter.py
+++ b/nova/scheduler/filters/ram_filter.py
@@ -14,6 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -25,8 +26,8 @@ ram_allocation_ratio_opt = cfg.FloatOpt("ram_allocation_ratio",
default=1.5,
help="virtual ram to physical ram allocation ratio")
-FLAGS = flags.FLAGS
-FLAGS.register_opt(ram_allocation_ratio_opt)
+CONF = config.CONF
+CONF.register_opt(ram_allocation_ratio_opt)
class RamFilter(filters.BaseHostFilter):
@@ -39,7 +40,7 @@ class RamFilter(filters.BaseHostFilter):
free_ram_mb = host_state.free_ram_mb
total_usable_ram_mb = host_state.total_usable_ram_mb
- memory_mb_limit = total_usable_ram_mb * FLAGS.ram_allocation_ratio
+ memory_mb_limit = total_usable_ram_mb * CONF.ram_allocation_ratio
used_ram_mb = total_usable_ram_mb - free_ram_mb
usable_ram = memory_mb_limit - used_ram_mb
if not usable_ram >= requested_ram:
diff --git a/nova/scheduler/filters/trusted_filter.py b/nova/scheduler/filters/trusted_filter.py
index 69968a766..4fd0488d9 100644
--- a/nova/scheduler/filters/trusted_filter.py
+++ b/nova/scheduler/filters/trusted_filter.py
@@ -48,6 +48,7 @@ import httplib
import socket
import ssl
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
@@ -81,10 +82,10 @@ trusted_opts = [
help='attestation authorization blob - must change'),
]
-FLAGS = flags.FLAGS
+CONF = config.CONF
trust_group = cfg.OptGroup(name='trusted_computing', title='Trust parameters')
-FLAGS.register_group(trust_group)
-FLAGS.register_opts(trusted_opts, group='trusted_computing')
+CONF.register_group(trust_group)
+CONF.register_opts(trusted_opts, group=trust_group)
class HTTPSClientAuthConnection(httplib.HTTPSConnection):
@@ -124,13 +125,13 @@ class AttestationService(httplib.HTTPSConnection):
# Provide access wrapper to attestation server to get integrity report.
def __init__(self):
- self.api_url = FLAGS.trusted_computing.attestation_api_url
- self.host = FLAGS.trusted_computing.attestation_server
- self.port = FLAGS.trusted_computing.attestation_port
- self.auth_blob = FLAGS.trusted_computing.attestation_auth_blob
+ self.api_url = CONF.trusted_computing.attestation_api_url
+ self.host = CONF.trusted_computing.attestation_server
+ self.port = CONF.trusted_computing.attestation_port
+ self.auth_blob = CONF.trusted_computing.attestation_auth_blob
self.key_file = None
self.cert_file = None
- self.ca_file = FLAGS.trusted_computing.attestation_server_ca_file
+ self.ca_file = CONF.trusted_computing.attestation_server_ca_file
self.request_count = 100
def _do_request(self, method, action_url, body, headers):
diff --git a/nova/scheduler/host_manager.py b/nova/scheduler/host_manager.py
index fc9f3c8cc..91e16ad34 100644
--- a/nova/scheduler/host_manager.py
+++ b/nova/scheduler/host_manager.py
@@ -21,6 +21,7 @@ import UserDict
from nova.compute import task_states
from nova.compute import vm_states
+from nova import config
from nova import db
from nova import exception
from nova import flags
@@ -49,8 +50,8 @@ host_manager_opts = [
'when not specified in the request.'),
]
-FLAGS = flags.FLAGS
-FLAGS.register_opts(host_manager_opts)
+CONF = config.CONF
+CONF.register_opts(host_manager_opts)
LOG = logging.getLogger(__name__)
@@ -281,7 +282,7 @@ class HostManager(object):
self.service_states = {} # { <host> : { <service> : { cap k : v }}}
self.host_state_map = {}
self.filter_classes = filters.get_filter_classes(
- FLAGS.scheduler_available_filters)
+ CONF.scheduler_available_filters)
def _choose_host_filters(self, filters):
"""Since the caller may specify which filters to use we need
@@ -290,7 +291,7 @@ class HostManager(object):
of acceptable filters.
"""
if filters is None:
- filters = FLAGS.scheduler_default_filters
+ filters = CONF.scheduler_default_filters
if not isinstance(filters, (list, tuple)):
filters = [filters]
good_filters = []
@@ -347,7 +348,7 @@ class HostManager(object):
with the instance (in case the InstanceType changed since the
instance was created)."""
- if topic != FLAGS.compute_topic:
+ if topic != CONF.compute_topic:
raise NotImplementedError(_(
"host_manager only implemented for 'compute'"))
diff --git a/nova/scheduler/least_cost.py b/nova/scheduler/least_cost.py
index bccdd0a4f..d3eaee735 100644
--- a/nova/scheduler/least_cost.py
+++ b/nova/scheduler/least_cost.py
@@ -22,6 +22,7 @@ The cost-function and weights are tabulated, and the host with the least cost
is then selected for provisioning.
"""
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -45,8 +46,8 @@ least_cost_opts = [
'e.g. spread-first'),
]
-FLAGS = flags.FLAGS
-FLAGS.register_opts(least_cost_opts)
+CONF = config.CONF
+CONF.register_opts(least_cost_opts)
# TODO(sirp): Once we have enough of these rules, we can break them out into a
# cost_functions.py file (perhaps in a least_cost_scheduler directory)
diff --git a/nova/scheduler/manager.py b/nova/scheduler/manager.py
index 531c54726..77f5a0259 100644
--- a/nova/scheduler/manager.py
+++ b/nova/scheduler/manager.py
@@ -26,6 +26,7 @@ import sys
from nova.compute import rpcapi as compute_rpcapi
from nova.compute import utils as compute_utils
from nova.compute import vm_states
+from nova import config
import nova.context
from nova import db
from nova import exception
@@ -46,8 +47,8 @@ scheduler_driver_opt = cfg.StrOpt('scheduler_driver',
default='nova.scheduler.filter_scheduler.FilterScheduler',
help='Default driver to use for the scheduler')
-FLAGS = flags.FLAGS
-FLAGS.register_opt(scheduler_driver_opt)
+CONF = config.CONF
+CONF.register_opt(scheduler_driver_opt)
QUOTAS = quota.QUOTAS
@@ -59,7 +60,7 @@ class SchedulerManager(manager.Manager):
def __init__(self, scheduler_driver=None, *args, **kwargs):
if not scheduler_driver:
- scheduler_driver = FLAGS.scheduler_driver
+ scheduler_driver = CONF.scheduler_driver
self.driver = importutils.import_object(scheduler_driver)
super(SchedulerManager, self).__init__(*args, **kwargs)
diff --git a/nova/scheduler/multi.py b/nova/scheduler/multi.py
index 13e3c0e1a..7c68bb12a 100644
--- a/nova/scheduler/multi.py
+++ b/nova/scheduler/multi.py
@@ -27,6 +27,7 @@ schedule requests to compute nodes but provide their own manager and topic.
https://bugs.launchpad.net/nova/+bug/1009681
"""
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import importutils
@@ -43,8 +44,8 @@ multi_scheduler_opts = [
help='Default driver to use for scheduling calls'),
]
-FLAGS = flags.FLAGS
-FLAGS.register_opts(multi_scheduler_opts)
+CONF = config.CONF
+CONF.register_opts(multi_scheduler_opts)
class MultiScheduler(driver.Scheduler):
@@ -58,9 +59,9 @@ class MultiScheduler(driver.Scheduler):
def __init__(self):
super(MultiScheduler, self).__init__()
compute_driver = importutils.import_object(
- FLAGS.compute_scheduler_driver)
+ CONF.compute_scheduler_driver)
default_driver = importutils.import_object(
- FLAGS.default_scheduler_driver)
+ CONF.default_scheduler_driver)
self.drivers = {'compute': compute_driver,
'default': default_driver}
diff --git a/nova/scheduler/rpcapi.py b/nova/scheduler/rpcapi.py
index b41668733..cbb6712db 100644
--- a/nova/scheduler/rpcapi.py
+++ b/nova/scheduler/rpcapi.py
@@ -18,12 +18,12 @@
Client side of the scheduler manager RPC API.
"""
+from nova import config
from nova import flags
from nova.openstack.common import jsonutils
import nova.openstack.common.rpc.proxy
-
-FLAGS = flags.FLAGS
+CONF = config.CONF
class SchedulerAPI(nova.openstack.common.rpc.proxy.RpcProxy):
@@ -60,7 +60,7 @@ class SchedulerAPI(nova.openstack.common.rpc.proxy.RpcProxy):
BASE_RPC_API_VERSION = '2.0'
def __init__(self):
- super(SchedulerAPI, self).__init__(topic=FLAGS.scheduler_topic,
+ super(SchedulerAPI, self).__init__(topic=CONF.scheduler_topic,
default_version=self.BASE_RPC_API_VERSION)
def run_instance(self, ctxt, request_spec, admin_password,
diff --git a/nova/scheduler/scheduler_options.py b/nova/scheduler/scheduler_options.py
index 7acf2f750..e8be0070b 100644
--- a/nova/scheduler/scheduler_options.py
+++ b/nova/scheduler/scheduler_options.py
@@ -26,6 +26,7 @@ import datetime
import json
import os
+from nova import config
from nova import flags
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -37,8 +38,8 @@ scheduler_json_config_location_opt = cfg.StrOpt(
default='',
help='Absolute path to scheduler configuration JSON file.')
-FLAGS = flags.FLAGS
-FLAGS.register_opt(scheduler_json_config_location_opt)
+CONF = config.CONF
+CONF.register_opt(scheduler_json_config_location_opt)
LOG = logging.getLogger(__name__)
@@ -86,7 +87,7 @@ class SchedulerOptions(object):
def get_configuration(self, filename=None):
"""Check the json file for changes and load it if needed."""
if not filename:
- filename = FLAGS.scheduler_json_config_location
+ filename = CONF.scheduler_json_config_location
if not filename:
return self.data
if self.last_checked: