diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-01-24 12:12:02 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-01-24 12:12:02 +0000 |
commit | 97a5274f5baea7072c0992e2d2becca539b92a11 (patch) | |
tree | 8263fdfb6f0d39a30f06ad0759b818efa69bcee5 /nova/utils.py | |
parent | 5fb69e7f9a192724767102a78dd1b8fb7e7e9c5d (diff) | |
parent | 52bee33eca1719bc01318cdef5f95c2b48992c0a (diff) | |
download | nova-97a5274f5baea7072c0992e2d2becca539b92a11.tar.gz nova-97a5274f5baea7072c0992e2d2becca539b92a11.tar.xz nova-97a5274f5baea7072c0992e2d2becca539b92a11.zip |
Merge "Add support for Option Groups in LazyPluggable"
Diffstat (limited to 'nova/utils.py')
-rw-r--r-- | nova/utils.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/nova/utils.py b/nova/utils.py index 75cba0a7c..f9e08fd80 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -507,14 +507,18 @@ def str_dict_replace(s, mapping): class LazyPluggable(object): """A pluggable backend loaded lazily based on some value.""" - def __init__(self, pivot, **backends): + def __init__(self, pivot, config_group=None, **backends): self.__backends = backends self.__pivot = pivot self.__backend = None + self.__config_group = config_group def __get_backend(self): if not self.__backend: - backend_name = CONF[self.__pivot] + if self.__config_group is None: + backend_name = CONF[self.__pivot] + else: + backend_name = CONF[self.__config_group][self.__pivot] if backend_name not in self.__backends: msg = _('Invalid backend: %s') % backend_name raise exception.NovaException(msg) |