Merged metrics_engine package into decision_engine
In this changeset, I merged the metrics_engine package into the decision_engine one alongside the required changes to make the tests pass. Change-Id: Iac1cd266a854212bf4fa8b21c744b076c3b834a8 Partially-Implements: blueprint cluster-model-objects-wrapper
This commit is contained in:
@@ -36,7 +36,7 @@ Here is an example showing how you can write a plugin called
|
||||
# Import path = thirdparty.dummy
|
||||
|
||||
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):
|
||||
@@ -67,7 +67,7 @@ class method as followed:
|
||||
|
||||
from oslo_config import cfg
|
||||
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):
|
||||
@@ -107,7 +107,7 @@ Abstract Plugin Class
|
||||
Here below is the abstract ``BaseClusterDataModelCollector`` class that every
|
||||
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:
|
||||
:special-members: __init__
|
||||
:noindex:
|
||||
@@ -116,9 +116,9 @@ single cluster data model collector should implement:
|
||||
Register a new entry point
|
||||
==========================
|
||||
|
||||
In order for the Watcher Decision Engine to load your new cluster data model
|
||||
collector, the latter must be registered as a named entry point under the
|
||||
``watcher_cluster_data_model_collectors`` entry point of your ``setup.py``
|
||||
In order for the Watcher Applier to load your new cluster data model collector,
|
||||
the cluster data model collector must be registered as a named entry point
|
||||
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
|
||||
``setup.cfg`` file.
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ pluggable backend.
|
||||
Finally, if your strategy requires new metrics not covered by Ceilometer, you
|
||||
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
|
||||
.. _`here`: http://docs.openstack.org/developer/ceilometer/install/dbreco.html#choosing-a-database-backend
|
||||
.. _`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.
|
||||
|
||||
.. autoclass:: watcher.metrics_engine.cluster_history.base.BaseClusterHistory
|
||||
.. autoclass:: watcher.decision_engine.cluster.history.base.BaseClusterHistory
|
||||
:members:
|
||||
:noindex:
|
||||
|
||||
|
||||
The following code snippet shows how to create a Cluster History class:
|
||||
|
||||
.. 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()
|
||||
|
||||
|
||||
@@ -99,14 +99,14 @@ The :ref:`Cluster <cluster_definition>` may be divided in one or several
|
||||
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
|
||||
===============
|
||||
|
||||
.. watcher-term:: watcher.metrics_engine.cluster_history.base
|
||||
.. watcher-term:: watcher.decision_engine.cluster.history.base
|
||||
|
||||
.. _controller_node_definition:
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ watcher_planners =
|
||||
default = watcher.decision_engine.planner.default:DefaultPlanner
|
||||
|
||||
watcher_cluster_data_model_collectors =
|
||||
compute = watcher.metrics_engine.cluster_model_collector.nova:NovaClusterDataModelCollector
|
||||
compute = watcher.decision_engine.model.collector.nova:NovaClusterDataModelCollector
|
||||
|
||||
[pbr]
|
||||
warnerrors = true
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
from oslo_config import cfg
|
||||
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
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Copyright (c) 2015 b<>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");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -39,3 +40,9 @@ class DefaultPlannerLoader(default.DefaultLoader):
|
||||
def __init__(self):
|
||||
super(DefaultPlannerLoader, self).__init__(
|
||||
namespace='watcher_planners')
|
||||
|
||||
|
||||
class ClusterDataModelCollectorLoader(default.DefaultLoader):
|
||||
def __init__(self):
|
||||
super(ClusterDataModelCollectorLoader, self).__init__(
|
||||
namespace='watcher_cluster_data_model_collectors')
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Copyright (c) 2015 b<>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");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -20,7 +21,7 @@
|
||||
from oslo_config import cfg
|
||||
|
||||
from watcher.common import utils
|
||||
from watcher.metrics_engine.loading import default
|
||||
from watcher.decision_engine.loading import default
|
||||
|
||||
|
||||
CONF = cfg.CONF
|
||||
@@ -19,11 +19,11 @@
|
||||
from oslo_log import log
|
||||
|
||||
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 model_root
|
||||
from watcher.decision_engine.model import resource
|
||||
from watcher.decision_engine.model import vm as obj_vm
|
||||
from watcher.metrics_engine.cluster_model_collector import base
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
@@ -21,7 +21,8 @@ from oslo_log import log
|
||||
|
||||
from watcher.common import exception
|
||||
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__)
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
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 outlet_temp_control
|
||||
|
||||
@@ -44,9 +44,9 @@ from watcher.common import exception
|
||||
from watcher.common.loader import loadable
|
||||
from watcher.common import utils
|
||||
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.strategy.common import level
|
||||
from watcher.metrics_engine.cluster_model_collector import manager
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
|
||||
@@ -31,12 +31,11 @@ from oslo_log import log
|
||||
|
||||
from watcher._i18n import _, _LE, _LI, _LW
|
||||
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 resource
|
||||
from watcher.decision_engine.model import vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer as \
|
||||
ceilometer_cluster_history
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
@@ -123,8 +122,7 @@ class BasicConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
@property
|
||||
def ceilometer(self):
|
||||
if self._ceilometer is None:
|
||||
self._ceilometer = (ceilometer_cluster_history.
|
||||
CeilometerClusterHistory(osc=self.osc))
|
||||
self._ceilometer = cch.CeilometerClusterHistory(osc=self.osc)
|
||||
return self._ceilometer
|
||||
|
||||
@ceilometer.setter
|
||||
|
||||
@@ -32,10 +32,10 @@ from oslo_log import log
|
||||
|
||||
from watcher._i18n import _, _LI, _LW
|
||||
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 vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer as ceil
|
||||
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
@@ -20,10 +20,10 @@ from oslo_log import log
|
||||
|
||||
from watcher._i18n import _, _LE, _LI, _LW
|
||||
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 vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer as ceil
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -22,12 +22,12 @@ import six
|
||||
|
||||
from watcher._i18n import _, _LE, _LI
|
||||
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 resource
|
||||
from watcher.decision_engine.model import vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer \
|
||||
as ceilometer_cluster_history
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ from oslo_log import log
|
||||
|
||||
from watcher._i18n import _, _LE, _LI, _LW
|
||||
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 vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer as ceil
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@ from oslo_log import log
|
||||
|
||||
from watcher._i18n import _LI, _
|
||||
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 vm_state
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
from watcher.metrics_engine.cluster_history import ceilometer as \
|
||||
ceilometer_cluster_history
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -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')
|
||||
@@ -26,15 +26,14 @@ from watcher.common import utils
|
||||
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.planner import manager as planner_manager
|
||||
from watcher.metrics_engine.loading import default as cdm_loader
|
||||
|
||||
|
||||
PLUGIN_LOADERS = (
|
||||
applier_loader.DefaultActionLoader,
|
||||
decision_engine_loader.DefaultPlannerLoader,
|
||||
decision_engine_loader.DefaultStrategyLoader,
|
||||
decision_engine_loader.ClusterDataModelCollectorLoader,
|
||||
applier_loader.DefaultWorkFlowEngineLoader,
|
||||
cdm_loader.ClusterDataModelCollectorLoader,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ from apscheduler.schedulers import background
|
||||
from watcher.decision_engine.audit import continuous
|
||||
from watcher.decision_engine.audit import oneshot
|
||||
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.tests.db import base
|
||||
from watcher.tests.decision_engine.strategy.strategies import \
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
import mock
|
||||
|
||||
from watcher.decision_engine.model.collector import base
|
||||
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
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
import mock
|
||||
|
||||
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 conf_fixture
|
||||
|
||||
@@ -20,7 +20,7 @@ from stevedore import extension as stevedore_extension
|
||||
|
||||
from watcher.common import clients
|
||||
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 conf_fixture
|
||||
from watcher.tests.decision_engine.strategy.strategies import \
|
||||
@@ -18,7 +18,7 @@ import mock
|
||||
|
||||
from watcher.decision_engine.audit import oneshot as oneshot_handler
|
||||
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.decision_engine.strategy.strategies \
|
||||
import faker_cluster_state
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
import mock
|
||||
|
||||
from watcher.common import utils
|
||||
from watcher.decision_engine.model.collector import manager
|
||||
from watcher.decision_engine.solution import default
|
||||
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 import strategies
|
||||
from watcher.metrics_engine.cluster_model_collector import manager
|
||||
from watcher.tests.db import base
|
||||
from watcher.tests.objects import utils as obj_utils
|
||||
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
|
||||
import mock
|
||||
|
||||
from watcher.decision_engine.model.collector import base
|
||||
from watcher.decision_engine.model import hypervisor
|
||||
from watcher.decision_engine.model import model_root as modelroot
|
||||
from watcher.decision_engine.model import resource
|
||||
from watcher.decision_engine.model import vm as modelvm
|
||||
from watcher.decision_engine.model import vm_state
|
||||
from watcher.metrics_engine.cluster_model_collector import base
|
||||
|
||||
|
||||
class FakerModelCollector(base.BaseClusterDataModelCollector):
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
import mock
|
||||
|
||||
from watcher.decision_engine.model.collector import base
|
||||
from watcher.decision_engine.model import hypervisor
|
||||
from watcher.decision_engine.model import model_root as modelroot
|
||||
from watcher.decision_engine.model import resource
|
||||
from watcher.decision_engine.model import vm as modelvm
|
||||
from watcher.metrics_engine.cluster_model_collector import base
|
||||
|
||||
|
||||
class FakerModelCollector(base.BaseClusterDataModelCollector):
|
||||
|
||||
@@ -21,8 +21,8 @@ from apscheduler.triggers import interval as interval_trigger
|
||||
import eventlet
|
||||
import mock
|
||||
|
||||
from watcher.decision_engine.loading import default as default_loading
|
||||
from watcher.decision_engine import scheduling
|
||||
from watcher.metrics_engine.loading import default as default_loading
|
||||
from watcher.tests import base
|
||||
from watcher.tests.decision_engine.strategy.strategies import \
|
||||
faker_cluster_state
|
||||
|
||||
Reference in New Issue
Block a user