Merge "Change default strategy to DummyStrategy"

This commit is contained in:
Jenkins
2015-12-21 09:29:29 +00:00
committed by Gerrit Code Review
2 changed files with 9 additions and 6 deletions

View File

@@ -20,19 +20,25 @@ import abc
from oslo_log import log
import six
from watcher.decision_engine.strategy.strategies.dummy_strategy import \
DummyStrategy
LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta)
class BaseStrategyLoader(object):
default_strategy_cls = DummyStrategy
@abc.abstractmethod
def load_available_strategies(self):
raise NotImplementedError() # pragma:no cover
raise NotImplementedError()
def load(self, strategy_to_load=None):
strategy_selected = None
try:
available_strategies = self.load_available_strategies()
LOG.debug("Available strategies: %s ", available_strategies)
strategy_cls = available_strategies.get(
strategy_to_load, self.default_strategy_cls
)

View File

@@ -23,19 +23,16 @@ from oslo_log import log
from stevedore import ExtensionManager
from watcher.decision_engine.strategy.loading.base import BaseStrategyLoader
from watcher.decision_engine.strategy.strategies.basic_consolidation import \
BasicConsolidation
LOG = log.getLogger(__name__)
class DefaultStrategyLoader(BaseStrategyLoader):
default_strategy_cls = BasicConsolidation
def load_available_strategies(self):
extension_manager = ExtensionManager(
namespace='watcher_strategies',
invoke_on_load=True,
invoke_on_load=False,
)
return {ext.name: ext.plugin for ext in extension_manager.extensions}