예제 #1
0
 def _load_dynamic_class(self, module_name, class_prefix, base_name,
                         namespace):
     """Try to load a datastore specific class if it exists; use the
     default otherwise.
     """
     try:
         # This is for overridden Runner classes
         impl = self._build_class_path(module_name, class_prefix, base_name)
         return Strategy.get_strategy(impl, namespace)
     except ImportError:
         pass
     try:
         # This is for overridden Helper classes
         module = module_name.replace('test', class_prefix.lower())
         impl = self._build_class_path(module, class_prefix, base_name,
                                       strip_test=True)
         return Strategy.get_strategy(impl, namespace)
     except ImportError:
         # Just import the base class
         impl = self._build_class_path(module_name, '', base_name)
         return Strategy.get_strategy(impl, namespace)
예제 #2
0
 def _load_dynamic_class(self, module_name, class_prefix, base_name,
                         namespace):
     """Try to load a datastore specific class if it exists; use the
     default otherwise.
     """
     try:
         # This is for overridden Runner classes
         impl = self._build_class_path(module_name, class_prefix, base_name)
         return Strategy.get_strategy(impl, namespace)
     except ImportError:
         pass
     try:
         # This is for overridden Helper classes
         module = module_name.replace('test', class_prefix.lower())
         impl = self._build_class_path(module,
                                       class_prefix,
                                       base_name,
                                       strip_test=True)
         return Strategy.get_strategy(impl, namespace)
     except ImportError:
         # Just import the base class
         impl = self._build_class_path(module_name, '', base_name)
         return Strategy.get_strategy(impl, namespace)
예제 #3
0
 def _load_class(cls, load_type, impl, namespace):
     clazz = None
     if not load_type or load_type in impl.lower():
         try:
             clazz = Strategy.get_strategy(impl, namespace)
         except ImportError as ie:
             # Only fail silently if it's something we expect,
             # such as a missing override class.  Anything else
             # shouldn't be suppressed.
             l_msg = ie.message.lower()
             if (load_type and load_type
                     not in l_msg) or ('no module named' not in l_msg
                                       and 'cannot be found' not in l_msg):
                 raise
     return clazz
예제 #4
0
 def _load_class(cls, load_type, impl, namespace):
     clazz = None
     if not load_type or load_type in impl.lower():
         try:
             clazz = Strategy.get_strategy(impl, namespace)
         except ImportError as ie:
             # Only fail silently if it's something we expect,
             # such as a missing override class.  Anything else
             # shouldn't be suppressed.
             l_msg = ie.message.lower()
             if (load_type and load_type not in l_msg) or (
                     'no module named' not in l_msg and
                     'cannot be found' not in l_msg):
                 raise
     return clazz
예제 #5
0
def get_strategy_cls(replication_driver, ns=__name__):
    return Strategy.get_strategy(replication_driver, ns)
예제 #6
0
def get_storage_strategy(storage_driver, ns=__name__):
    LOG.debug("Getting storage strategy: %s.", storage_driver)
    return Strategy.get_strategy(storage_driver, ns)
예제 #7
0
def get_storage_strategy(storage_driver, ns=__name__):
    return Strategy.get_strategy(storage_driver, ns)
예제 #8
0
def get_strategy_cls(replication_driver, ns=__name__):
    return Strategy.get_strategy(replication_driver, ns)
예제 #9
0
def get_backup_strategy(backup_driver, ns=__name__):
    return Strategy.get_strategy(backup_driver, ns)
예제 #10
0
def get_backup_strategy(backup_driver, ns=__name__):
    LOG.debug("Getting backup strategy: %s.", backup_driver)
    return Strategy.get_strategy(backup_driver, ns)
예제 #11
0
def get_storage_strategy(storage_driver, ns=__name__):
    LOG.debug("Getting storage strategy: %s." % storage_driver)
    return Strategy.get_strategy(storage_driver, ns)
예제 #12
0
def get_restore_strategy(restore_driver, ns=__name__):
    LOG.debug("Getting restore strategy: %s.", restore_driver)
    return Strategy.get_strategy(restore_driver, ns)
예제 #13
0
def get_replication_strategy(replication_driver, ns=__name__):
    LOG.debug("Getting replication strategy: %s.", replication_driver)
    return Strategy.get_strategy(replication_driver, ns)
예제 #14
0
def get_backup_strategy(backup_driver, ns=__name__):
    LOG.debug("Getting backup strategy: %s." % backup_driver)
    return Strategy.get_strategy(backup_driver, ns)