예제 #1
0
 def __init__(self, service_name=None, *args, **kwargs):
     super(ProtectionManager, self).__init__(*args, **kwargs)
     provider_reg = CONF.provider_registry
     self.provider_registry = utils.load_plugin(PROVIDER_NAMESPACE,
                                                provider_reg)
     self.protectable_registry = ProtectableRegistry()
     self.protectable_registry.load_plugins()
     self.worker = flow_manager.Worker()
예제 #2
0
 def _load_bank(self, bank_name):
     try:
         plugin = utils.load_plugin(PROTECTION_NAMESPACE, bank_name,
                                    self._config)
     except Exception:
         LOG.exception(_LE("Load bank plugin: '%s' failed."), bank_name)
         raise
     else:
         self._bank_plugin = plugin
예제 #3
0
파일: provider.py 프로젝트: openstack/smaug
 def _load_bank(self, bank_name):
     try:
         plugin = utils.load_plugin(PROTECTION_NAMESPACE, bank_name,
                                    self._config)
     except Exception:
         LOG.exception(_LE("Load bank plugin: '%s' failed."),
                       bank_name)
         raise
     else:
         self._bank_plugin = plugin
예제 #4
0
 def __init__(self, service_name=None, *args, **kwargs):
     super(ProtectionManager, self).__init__(*args, **kwargs)
     provider_reg = CONF.provider_registry
     self.provider_registry = utils.load_plugin(PROVIDER_NAMESPACE,
                                                provider_reg)
     self.protectable_registry = ProtectableRegistry()
     self.protectable_registry.load_plugins()
     self.worker = flow_manager.Worker()
     self._greenpool = None
     self._greenpool_size = CONF.max_concurrent_operations
     if self._greenpool_size != 0:
         self._greenpool = greenpool.GreenPool(self._greenpool_size)
예제 #5
0
파일: manager.py 프로젝트: openstack/smaug
 def __init__(self, service_name=None,
              *args, **kwargs):
     super(ProtectionManager, self).__init__(*args, **kwargs)
     provider_reg = CONF.provider_registry
     self.provider_registry = utils.load_plugin(PROVIDER_NAMESPACE,
                                                provider_reg)
     self.protectable_registry = ProtectableRegistry()
     self.protectable_registry.load_plugins()
     self.worker = flow_manager.Worker()
     self._greenpool = None
     self._greenpool_size = CONF.max_concurrent_operations
     if self._greenpool_size != 0:
         self._greenpool = greenpool.GreenPool(self._greenpool_size)
예제 #6
0
 def _load_plugin(self, plugin_name):
     try:
         plugin = utils.load_plugin(PROTECTION_NAMESPACE, plugin_name,
                                    self._config)
     except Exception:
         LOG.error(_LE("Load protection plugin: '%s' failed."), plugin_name)
         raise
     else:
         self._plugin_map[plugin_name] = plugin
         for resource in plugin.get_supported_resources_types():
             if hasattr(plugin, 'get_options_schema'):
                 self._extended_info_schema['options_schema'][resource] \
                     = plugin.get_options_schema(resource)
             if hasattr(plugin, 'get_restore_schema'):
                 self._extended_info_schema['restore_schema'][resource] \
                     = plugin.get_restore_schema(resource)
             if hasattr(plugin, 'get_saved_info_schema'):
                 self._extended_info_schema['saved_info_schema'][resource] \
                     = plugin.get_saved_info_schema(resource)