From 0c8c32e69eb3a02cc42e1115554111fb6a430535 Mon Sep 17 00:00:00 2001 From: Alexander Chadin Date: Thu, 25 Jan 2018 15:41:31 +0300 Subject: [PATCH] Fix strategy state Change-Id: I003bb3b41aac69cc40a847f52a50c7bc4cc8d020 --- watcher/decision_engine/strategy/strategies/base.py | 6 +++--- .../strategy/strategies/test_strategy_endpoint.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/watcher/decision_engine/strategy/strategies/base.py b/watcher/decision_engine/strategy/strategies/base.py index 5ad4e3105..d9cba4fb4 100644 --- a/watcher/decision_engine/strategy/strategies/base.py +++ b/watcher/decision_engine/strategy/strategies/base.py @@ -66,7 +66,7 @@ class StrategyEndpoint(object): ds_metrics = datasource.list_metrics() if ds_metrics is None: raise exception.DataSourceNotAvailable( - datasource=strategy.config.datasource) + datasource=datasource.NAME) else: for metric in strategy.DATASOURCE_METRICS: original_metric_name = datasource.METRIC_MAP.get(metric) @@ -81,7 +81,7 @@ class StrategyEndpoint(object): if not datasource: state = "Datasource is not presented for this strategy" else: - state = "%s: %s" % (strategy.config.datasource, + state = "%s: %s" % (datasource.NAME, datasource.check_availability()) return {'type': 'Datasource', 'state': state, @@ -104,7 +104,7 @@ class StrategyEndpoint(object): try: is_datasources = getattr(strategy.config, 'datasources', None) if is_datasources: - datasource = is_datasources[0] + datasource = getattr(strategy, 'datasource_backend') else: datasource = getattr(strategy, strategy.config.datasource) except (AttributeError, IndexError): diff --git a/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py b/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py index dab91e36a..e460ce4dd 100644 --- a/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py +++ b/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py @@ -42,7 +42,7 @@ class TestStrategyEndpoint(base.BaseTestCase): def test_get_datasource_status(self): strategy = mock.MagicMock() datasource = mock.MagicMock() - strategy.config.datasource = "gnocchi" + datasource.NAME = 'gnocchi' datasource.check_availability.return_value = "available" se = strategy_base.StrategyEndpoint(mock.MagicMock()) result = se._get_datasource_status(strategy, datasource)