Merge "Add interface to get store weight from memory"
This commit is contained in:
commit
5a3352c6ff
@ -331,6 +331,34 @@ def verify_store():
|
||||
raise RuntimeError(msg)
|
||||
|
||||
|
||||
def get_store_weight(store_identifier):
|
||||
"""Determine backing store weightage from identifier.
|
||||
|
||||
Given a store identifier, return the appropriate weight of store
|
||||
from memory.
|
||||
"""
|
||||
enabled_backends = CONF.enabled_backends
|
||||
enabled_backends.update(_RESERVED_STORES)
|
||||
|
||||
try:
|
||||
scheme = enabled_backends[store_identifier]
|
||||
except KeyError:
|
||||
msg = _("Store for identifier %s not found") % store_identifier
|
||||
raise exceptions.UnknownScheme(msg)
|
||||
|
||||
try:
|
||||
backend_map = location.SCHEME_TO_CLS_BACKEND_MAP[scheme]
|
||||
scheme_info = backend_map[store_identifier]
|
||||
except KeyError:
|
||||
raise exceptions.UnknownScheme(scheme=scheme)
|
||||
|
||||
store = scheme_info['store']
|
||||
if store:
|
||||
return store.weight
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
def get_store_from_store_identifier(store_identifier):
|
||||
"""Determine backing store from identifier.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user