From d1561505b31fce188a274dfd5125a0f73a096c07 Mon Sep 17 00:00:00 2001 From: Zhongyue Luo Date: Wed, 30 Jan 2013 22:27:51 +0800 Subject: Implements import_group Created import_group method in cfg.py Added testcases Fixes bug #1107843 Change-Id: I427d4069dacbb6e586687370adbb08b5d50f7b63 --- openstack/common/cfg.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'openstack/common') diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py index 527a5a5..a9407b4 100644 --- a/openstack/common/cfg.py +++ b/openstack/common/cfg.py @@ -1297,6 +1297,24 @@ class ConfigOpts(collections.Mapping): __import__(module_str) self._get_opt_info(name, group) + def import_group(self, group, module_str): + """Import an option group from a module. + + Import a module and check that a given option group is registered. + + This is intended for use with global configuration objects + like cfg.CONF where modules commonly register options with + CONF at module load time. If one module requires an option group + defined by another module it can use this method to explicitly + declare the dependency. + + :param group: an option OptGroup object or group name + :param module_str: the name of a module to import + :raises: ImportError, NoSuchGroupError + """ + __import__(module_str) + self._get_group(group) + @__clear_cache def set_override(self, name, override, group=None): """Override an opt value. -- cgit