Change default strategy to DummyStrategy
The aim of this patchset is to change the default strategy and set invoke_on_load to False. Change-Id: I0e374993614f465b11a22e33008f7026642154ee
This commit is contained in:
@@ -20,19 +20,25 @@ import abc
|
|||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
import six
|
import six
|
||||||
|
|
||||||
|
from watcher.decision_engine.strategy.strategies.dummy_strategy import \
|
||||||
|
DummyStrategy
|
||||||
|
|
||||||
LOG = log.getLogger(__name__)
|
LOG = log.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@six.add_metaclass(abc.ABCMeta)
|
@six.add_metaclass(abc.ABCMeta)
|
||||||
class BaseStrategyLoader(object):
|
class BaseStrategyLoader(object):
|
||||||
|
default_strategy_cls = DummyStrategy
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def load_available_strategies(self):
|
def load_available_strategies(self):
|
||||||
raise NotImplementedError() # pragma:no cover
|
raise NotImplementedError()
|
||||||
|
|
||||||
def load(self, strategy_to_load=None):
|
def load(self, strategy_to_load=None):
|
||||||
strategy_selected = None
|
strategy_selected = None
|
||||||
try:
|
try:
|
||||||
available_strategies = self.load_available_strategies()
|
available_strategies = self.load_available_strategies()
|
||||||
|
LOG.debug("Available strategies: %s ", available_strategies)
|
||||||
strategy_cls = available_strategies.get(
|
strategy_cls = available_strategies.get(
|
||||||
strategy_to_load, self.default_strategy_cls
|
strategy_to_load, self.default_strategy_cls
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -23,19 +23,16 @@ from oslo_log import log
|
|||||||
from stevedore import ExtensionManager
|
from stevedore import ExtensionManager
|
||||||
|
|
||||||
from watcher.decision_engine.strategy.loading.base import BaseStrategyLoader
|
from watcher.decision_engine.strategy.loading.base import BaseStrategyLoader
|
||||||
from watcher.decision_engine.strategy.strategies.basic_consolidation import \
|
|
||||||
BasicConsolidation
|
|
||||||
|
|
||||||
LOG = log.getLogger(__name__)
|
LOG = log.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class DefaultStrategyLoader(BaseStrategyLoader):
|
class DefaultStrategyLoader(BaseStrategyLoader):
|
||||||
|
|
||||||
default_strategy_cls = BasicConsolidation
|
|
||||||
|
|
||||||
def load_available_strategies(self):
|
def load_available_strategies(self):
|
||||||
extension_manager = ExtensionManager(
|
extension_manager = ExtensionManager(
|
||||||
namespace='watcher_strategies',
|
namespace='watcher_strategies',
|
||||||
invoke_on_load=True,
|
invoke_on_load=False,
|
||||||
)
|
)
|
||||||
return {ext.name: ext.plugin for ext in extension_manager.extensions}
|
return {ext.name: ext.plugin for ext in extension_manager.extensions}
|
||||||
|
|||||||
Reference in New Issue
Block a user