Merge "Merged metrics_engine package into decision_engine"

This commit is contained in:
Jenkins
2016-08-02 16:34:48 +00:00
committed by Gerrit Code Review
40 changed files with 45 additions and 64 deletions

View File

@@ -36,7 +36,7 @@ Here is an example showing how you can write a plugin called
# Import path = thirdparty.dummy # Import path = thirdparty.dummy
from watcher.decision_engine.model import model_root from watcher.decision_engine.model import model_root
from watcher.metrics_engine.cluster_model_collector import base from watcher.decision_engine.model.collector import base
class DummyClusterDataModelCollector(base.BaseClusterDataModelCollector): class DummyClusterDataModelCollector(base.BaseClusterDataModelCollector):
@@ -67,7 +67,7 @@ class method as followed:
from oslo_config import cfg from oslo_config import cfg
from watcher.decision_engine.model import model_root from watcher.decision_engine.model import model_root
from watcher.metrics_engine.cluster_model_collector import base from watcher.decision_engine.model.collector import base
class DummyClusterDataModelCollector(base.BaseClusterDataModelCollector): class DummyClusterDataModelCollector(base.BaseClusterDataModelCollector):
@@ -107,7 +107,7 @@ Abstract Plugin Class
Here below is the abstract ``BaseClusterDataModelCollector`` class that every Here below is the abstract ``BaseClusterDataModelCollector`` class that every
single cluster data model collector should implement: single cluster data model collector should implement:
.. autoclass:: watcher.metrics_engine.cluster_model_collector.base.BaseClusterDataModelCollector .. autoclass:: watcher.decision_engine.model.collector.base.BaseClusterDataModelCollector
:members: :members:
:special-members: __init__ :special-members: __init__
:noindex: :noindex:
@@ -116,9 +116,9 @@ single cluster data model collector should implement:
Register a new entry point Register a new entry point
========================== ==========================
In order for the Watcher Decision Engine to load your new cluster data model In order for the Watcher Applier to load your new cluster data model collector,
collector, the latter must be registered as a named entry point under the the cluster data model collector must be registered as a named entry point
``watcher_cluster_data_model_collectors`` entry point of your ``setup.py`` under the ``decision_engine.model.collector`` entry point of your ``setup.py``
file. If you are using pbr_, this entry point should be placed in your file. If you are using pbr_, this entry point should be placed in your
``setup.cfg`` file. ``setup.cfg`` file.

View File

@@ -257,7 +257,7 @@ pluggable backend.
Finally, if your strategy requires new metrics not covered by Ceilometer, you Finally, if your strategy requires new metrics not covered by Ceilometer, you
can add them through a Ceilometer `plugin`_. can add them through a Ceilometer `plugin`_.
.. _`Helper`: https://github.com/openstack/watcher/blob/master/watcher/metrics_engine/cluster_history/ceilometer.py#L31 .. _`Helper`: https://github.com/openstack/watcher/blob/master/watcher/decision_engine/cluster/history/ceilometer.py
.. _`Ceilometer developer guide`: http://docs.openstack.org/developer/ceilometer/architecture.html#storing-the-data .. _`Ceilometer developer guide`: http://docs.openstack.org/developer/ceilometer/architecture.html#storing-the-data
.. _`here`: http://docs.openstack.org/developer/ceilometer/install/dbreco.html#choosing-a-database-backend .. _`here`: http://docs.openstack.org/developer/ceilometer/install/dbreco.html#choosing-a-database-backend
.. _`plugin`: http://docs.openstack.org/developer/ceilometer/plugins.html .. _`plugin`: http://docs.openstack.org/developer/ceilometer/plugins.html
@@ -296,16 +296,15 @@ Read usage metrics using the Watcher Cluster History Helper
Here below is the abstract ``BaseClusterHistory`` class of the Helper. Here below is the abstract ``BaseClusterHistory`` class of the Helper.
.. autoclass:: watcher.metrics_engine.cluster_history.base.BaseClusterHistory .. autoclass:: watcher.decision_engine.cluster.history.base.BaseClusterHistory
:members: :members:
:noindex: :noindex:
The following code snippet shows how to create a Cluster History class: The following code snippet shows how to create a Cluster History class:
.. code-block:: py .. code-block:: py
from watcher.metrics_engine.cluster_history import ceilometer as ceil from watcher.decision_engine.cluster.history import ceilometer as ceil
query_history = ceil.CeilometerClusterHistory() query_history = ceil.CeilometerClusterHistory()

View File

@@ -99,14 +99,14 @@ The :ref:`Cluster <cluster_definition>` may be divided in one or several
Cluster Data Model Cluster Data Model
================== ==================
.. watcher-term:: watcher.metrics_engine.cluster_model_collector.base .. watcher-term:: watcher.decision_engine.model.collector.base
.. _cluster_history_definition: .. _cluster_history_definition:
Cluster History Cluster History
=============== ===============
.. watcher-term:: watcher.metrics_engine.cluster_history.base .. watcher-term:: watcher.decision_engine.cluster.history.base
.. _controller_node_definition: .. _controller_node_definition:

View File

@@ -76,7 +76,7 @@ watcher_planners =
default = watcher.decision_engine.planner.default:DefaultPlanner default = watcher.decision_engine.planner.default:DefaultPlanner
watcher_cluster_data_model_collectors = watcher_cluster_data_model_collectors =
compute = watcher.metrics_engine.cluster_model_collector.nova:NovaClusterDataModelCollector compute = watcher.decision_engine.model.collector.nova:NovaClusterDataModelCollector
[pbr] [pbr]
warnerrors = true warnerrors = true

View File

@@ -21,7 +21,7 @@
from oslo_config import cfg from oslo_config import cfg
from watcher.common import ceilometer_helper from watcher.common import ceilometer_helper
from watcher.metrics_engine.cluster_history import base from watcher.decision_engine.cluster.history import base
CONF = cfg.CONF CONF = cfg.CONF

View File

@@ -2,6 +2,7 @@
# Copyright (c) 2015 b<>com # Copyright (c) 2015 b<>com
# #
# Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com> # Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
# Vincent FRANCOISE <vincent.francoise@b-com.com>
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -39,3 +40,9 @@ class DefaultPlannerLoader(default.DefaultLoader):
def __init__(self): def __init__(self):
super(DefaultPlannerLoader, self).__init__( super(DefaultPlannerLoader, self).__init__(
namespace='watcher_planners') namespace='watcher_planners')
class ClusterDataModelCollectorLoader(default.DefaultLoader):
def __init__(self):
super(ClusterDataModelCollectorLoader, self).__init__(
namespace='watcher_cluster_data_model_collectors')

View File

@@ -2,6 +2,7 @@
# Copyright (c) 2015 b<>com # Copyright (c) 2015 b<>com
# #
# Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com> # Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
# Vincent FRANCOISE <vincent.francoise@b-com.com>
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -20,7 +21,7 @@
from oslo_config import cfg from oslo_config import cfg
from watcher.common import utils from watcher.common import utils
from watcher.metrics_engine.loading import default from watcher.decision_engine.loading import default
CONF = cfg.CONF CONF = cfg.CONF

View File

@@ -19,11 +19,11 @@
from oslo_log import log from oslo_log import log
from watcher.common import nova_helper from watcher.common import nova_helper
from watcher.decision_engine.model.collector import base
from watcher.decision_engine.model import hypervisor as obj_hypervisor from watcher.decision_engine.model import hypervisor as obj_hypervisor
from watcher.decision_engine.model import model_root from watcher.decision_engine.model import model_root
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm as obj_vm from watcher.decision_engine.model import vm as obj_vm
from watcher.metrics_engine.cluster_model_collector import base
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -21,7 +21,8 @@ from oslo_log import log
from watcher.common import exception from watcher.common import exception
from watcher.common import scheduling from watcher.common import scheduling
from watcher.metrics_engine.cluster_model_collector import manager
from watcher.decision_engine.model.collector import manager
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from watcher.decision_engine.strategy.strategies import basic_consolidation from watcher.decision_engine.strategy.strategies import basic_consolidation
from watcher.decision_engine.strategy.strategies import dummy_strategy from watcher.decision_engine.strategy.strategies import dummy_strategy
from watcher.decision_engine.strategy.strategies import outlet_temp_control from watcher.decision_engine.strategy.strategies import outlet_temp_control

View File

@@ -44,9 +44,9 @@ from watcher.common import exception
from watcher.common.loader import loadable from watcher.common.loader import loadable
from watcher.common import utils from watcher.common import utils
from watcher.decision_engine.loading import default as loading from watcher.decision_engine.loading import default as loading
from watcher.decision_engine.model.collector import manager
from watcher.decision_engine.solution import default from watcher.decision_engine.solution import default
from watcher.decision_engine.strategy.common import level from watcher.decision_engine.strategy.common import level
from watcher.metrics_engine.cluster_model_collector import manager
@six.add_metaclass(abc.ABCMeta) @six.add_metaclass(abc.ABCMeta)

View File

@@ -31,12 +31,11 @@ from oslo_log import log
from watcher._i18n import _, _LE, _LI, _LW from watcher._i18n import _, _LE, _LI, _LW
from watcher.common import exception from watcher.common import exception
from watcher.decision_engine.cluster.history import ceilometer as cch
from watcher.decision_engine.model import hypervisor_state as hyper_state from watcher.decision_engine.model import hypervisor_state as hyper_state
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer as \
ceilometer_cluster_history
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)
@@ -123,8 +122,7 @@ class BasicConsolidation(base.ServerConsolidationBaseStrategy):
@property @property
def ceilometer(self): def ceilometer(self):
if self._ceilometer is None: if self._ceilometer is None:
self._ceilometer = (ceilometer_cluster_history. self._ceilometer = cch.CeilometerClusterHistory(osc=self.osc)
CeilometerClusterHistory(osc=self.osc))
return self._ceilometer return self._ceilometer
@ceilometer.setter @ceilometer.setter

View File

@@ -32,10 +32,10 @@ from oslo_log import log
from watcher._i18n import _, _LI, _LW from watcher._i18n import _, _LI, _LW
from watcher.common import exception as wexc from watcher.common import exception as wexc
from watcher.decision_engine.cluster.history import ceilometer as ceil
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer as ceil
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -20,10 +20,10 @@ from oslo_log import log
from watcher._i18n import _, _LE, _LI, _LW from watcher._i18n import _, _LE, _LI, _LW
from watcher.common import exception as wexc from watcher.common import exception as wexc
from watcher.decision_engine.cluster.history import ceilometer as ceil
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer as ceil
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -22,12 +22,12 @@ import six
from watcher._i18n import _, _LE, _LI from watcher._i18n import _, _LE, _LI
from watcher.common import exception from watcher.common import exception
from watcher.decision_engine.cluster.history import ceilometer \
as ceilometer_cluster_history
from watcher.decision_engine.model import hypervisor_state as hyper_state from watcher.decision_engine.model import hypervisor_state as hyper_state
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer \
as ceilometer_cluster_history
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -20,10 +20,10 @@ from oslo_log import log
from watcher._i18n import _, _LE, _LI, _LW from watcher._i18n import _, _LE, _LI, _LW
from watcher.common import exception as wexc from watcher.common import exception as wexc
from watcher.decision_engine.cluster.history import ceilometer as ceil
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer as ceil
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -28,11 +28,11 @@ from oslo_log import log
from watcher._i18n import _LI, _ from watcher._i18n import _LI, _
from watcher.common import exception from watcher.common import exception
from watcher.decision_engine.cluster.history import ceilometer as \
ceilometer_cluster_history
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.decision_engine.strategy.strategies import base from watcher.decision_engine.strategy.strategies import base
from watcher.metrics_engine.cluster_history import ceilometer as \
ceilometer_cluster_history
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)

View File

@@ -1,23 +0,0 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import unicode_literals
from watcher.common.loader import default
class ClusterDataModelCollectorLoader(default.DefaultLoader):
def __init__(self):
super(ClusterDataModelCollectorLoader, self).__init__(
namespace='watcher_cluster_data_model_collectors')

View File

@@ -26,15 +26,14 @@ from watcher.common import utils
from watcher.decision_engine.loading import default as decision_engine_loader from watcher.decision_engine.loading import default as decision_engine_loader
from watcher.decision_engine import manager as decision_engine_manger from watcher.decision_engine import manager as decision_engine_manger
from watcher.decision_engine.planner import manager as planner_manager from watcher.decision_engine.planner import manager as planner_manager
from watcher.metrics_engine.loading import default as cdm_loader
PLUGIN_LOADERS = ( PLUGIN_LOADERS = (
applier_loader.DefaultActionLoader, applier_loader.DefaultActionLoader,
decision_engine_loader.DefaultPlannerLoader, decision_engine_loader.DefaultPlannerLoader,
decision_engine_loader.DefaultStrategyLoader, decision_engine_loader.DefaultStrategyLoader,
decision_engine_loader.ClusterDataModelCollectorLoader,
applier_loader.DefaultWorkFlowEngineLoader, applier_loader.DefaultWorkFlowEngineLoader,
cdm_loader.ClusterDataModelCollectorLoader,
) )

View File

@@ -21,7 +21,7 @@ from apscheduler.schedulers import background
from watcher.decision_engine.audit import continuous from watcher.decision_engine.audit import continuous
from watcher.decision_engine.audit import oneshot from watcher.decision_engine.audit import oneshot
from watcher.decision_engine.messaging import events from watcher.decision_engine.messaging import events
from watcher.metrics_engine.cluster_model_collector import manager from watcher.decision_engine.model.collector import manager
from watcher.objects import audit as audit_objects from watcher.objects import audit as audit_objects
from watcher.tests.db import base from watcher.tests.db import base
from watcher.tests.decision_engine.strategy.strategies import \ from watcher.tests.decision_engine.strategy.strategies import \

View File

@@ -16,8 +16,8 @@
import mock import mock
from watcher.decision_engine.model.collector import base
from watcher.decision_engine.model import model_root from watcher.decision_engine.model import model_root
from watcher.metrics_engine.cluster_model_collector import base
from watcher.tests import base as test_base from watcher.tests import base as test_base

View File

@@ -19,7 +19,7 @@
import mock import mock
from watcher.common import nova_helper from watcher.common import nova_helper
from watcher.metrics_engine.cluster_model_collector import nova from watcher.decision_engine.model.collector import nova
from watcher.tests import base from watcher.tests import base
from watcher.tests import conf_fixture from watcher.tests import conf_fixture

View File

@@ -20,7 +20,7 @@ from stevedore import extension as stevedore_extension
from watcher.common import clients from watcher.common import clients
from watcher.common import exception from watcher.common import exception
from watcher.metrics_engine.loading import default as default_loading from watcher.decision_engine.loading import default as default_loading
from watcher.tests import base from watcher.tests import base
from watcher.tests import conf_fixture from watcher.tests import conf_fixture
from watcher.tests.decision_engine.strategy.strategies import \ from watcher.tests.decision_engine.strategy.strategies import \

View File

@@ -18,7 +18,7 @@ import mock
from watcher.decision_engine.audit import oneshot as oneshot_handler from watcher.decision_engine.audit import oneshot as oneshot_handler
from watcher.decision_engine.messaging import audit_endpoint from watcher.decision_engine.messaging import audit_endpoint
from watcher.metrics_engine.cluster_model_collector import manager from watcher.decision_engine.model.collector import manager
from watcher.tests.db import base from watcher.tests.db import base
from watcher.tests.decision_engine.strategy.strategies \ from watcher.tests.decision_engine.strategy.strategies \
import faker_cluster_state import faker_cluster_state

View File

@@ -16,11 +16,11 @@
import mock import mock
from watcher.common import utils from watcher.common import utils
from watcher.decision_engine.model.collector import manager
from watcher.decision_engine.solution import default from watcher.decision_engine.solution import default
from watcher.decision_engine.strategy.context import default as d_strategy_ctx from watcher.decision_engine.strategy.context import default as d_strategy_ctx
from watcher.decision_engine.strategy.selection import default as d_selector from watcher.decision_engine.strategy.selection import default as d_selector
from watcher.decision_engine.strategy import strategies from watcher.decision_engine.strategy import strategies
from watcher.metrics_engine.cluster_model_collector import manager
from watcher.tests.db import base from watcher.tests.db import base
from watcher.tests.objects import utils as obj_utils from watcher.tests.objects import utils as obj_utils

View File

@@ -19,12 +19,12 @@
import mock import mock
from watcher.decision_engine.model.collector import base
from watcher.decision_engine.model import hypervisor from watcher.decision_engine.model import hypervisor
from watcher.decision_engine.model import model_root as modelroot from watcher.decision_engine.model import model_root as modelroot
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm as modelvm from watcher.decision_engine.model import vm as modelvm
from watcher.decision_engine.model import vm_state from watcher.decision_engine.model import vm_state
from watcher.metrics_engine.cluster_model_collector import base
class FakerModelCollector(base.BaseClusterDataModelCollector): class FakerModelCollector(base.BaseClusterDataModelCollector):

View File

@@ -18,11 +18,11 @@
import mock import mock
from watcher.decision_engine.model.collector import base
from watcher.decision_engine.model import hypervisor from watcher.decision_engine.model import hypervisor
from watcher.decision_engine.model import model_root as modelroot from watcher.decision_engine.model import model_root as modelroot
from watcher.decision_engine.model import resource from watcher.decision_engine.model import resource
from watcher.decision_engine.model import vm as modelvm from watcher.decision_engine.model import vm as modelvm
from watcher.metrics_engine.cluster_model_collector import base
class FakerModelCollector(base.BaseClusterDataModelCollector): class FakerModelCollector(base.BaseClusterDataModelCollector):

View File

@@ -21,8 +21,8 @@ from apscheduler.triggers import interval as interval_trigger
import eventlet import eventlet
import mock import mock
from watcher.decision_engine.loading import default as default_loading
from watcher.decision_engine import scheduling from watcher.decision_engine import scheduling
from watcher.metrics_engine.loading import default as default_loading
from watcher.tests import base from watcher.tests import base
from watcher.tests.decision_engine.strategy.strategies import \ from watcher.tests.decision_engine.strategy.strategies import \
faker_cluster_state faker_cluster_state