From: Brad Hall Date: Mon, 6 Jun 2011 04:52:09 +0000 (-0700) Subject: Make the manager a little smarter about finding its config file X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=c93cbb7d1b179a58622356276afcc34f1579e15f;p=openstack-build%2Fneutron-build.git Make the manager a little smarter about finding its config file --- diff --git a/quantum/manager.py b/quantum/manager.py index dc882bbb0..9932f17af 100644 --- a/quantum/manager.py +++ b/quantum/manager.py @@ -26,17 +26,26 @@ The caller should make sure that QuantumManager is a singleton. import gettext gettext.install('quantum', unicode=1) +import os + from common import utils from quantum_plugin_base import QuantumPluginBase CONFIG_FILE = "plugins.ini" +def find_config(basepath): + for root, dirs, files in os.walk(basepath): + if CONFIG_FILE in files: + return os.path.join(root, CONFIG_FILE) + return None class QuantumManager(object): - - def __init__(self,config=CONFIG_FILE): - self.configuration_file = CONFIG_FILE - plugin_location = utils.getPluginFromConfig(CONFIG_FILE) + def __init__(self, config=None): + if config == None: + self.configuration_file = find_config(os.path.abspath(os.path.dirname(__file__))) + else: + self.configuration_file = config + plugin_location = utils.getPluginFromConfig(self.configuration_file) print "PLUGIN LOCATION:%s" % plugin_location plugin_klass = utils.import_class(plugin_location) if not issubclass(plugin_klass, QuantumPluginBase):