Add strategy template doc
Developer should provide a detailled documentation about his strategy algorithm to make it even easier to use by a Watcher end user. I propose in this changeset a template for strategy documentation. you will find also a example with basic consolidation strategy. Change-Id: I66da1a33b87a94b508dd23ac7dce4cae6f4e068b
This commit is contained in:
96
doc/source/strategies/basic-server-consolidation.rst
Normal file
96
doc/source/strategies/basic-server-consolidation.rst
Normal file
@@ -0,0 +1,96 @@
|
||||
==================================
|
||||
Basic Offline Server Consolidation
|
||||
==================================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
**display name**: ``basic``
|
||||
|
||||
**goal**: ``server_consolidation``
|
||||
|
||||
.. watcher-term:: watcher.decision_engine.strategy.strategies.basic_consolidation
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Metrics
|
||||
*******
|
||||
|
||||
The *basic* strategy requires the following metrics:
|
||||
|
||||
============================ ============ ======= =======
|
||||
metric service name plugins comment
|
||||
============================ ============ ======= =======
|
||||
``compute.node.cpu.percent`` ceilometer_ none
|
||||
``cpu_util`` ceilometer_ none
|
||||
============================ ============ ======= =======
|
||||
|
||||
.. _ceilometer: http://docs.openstack.org/admin-guide/telemetry-measurements.html#openstack-compute
|
||||
|
||||
Cluster data model
|
||||
******************
|
||||
|
||||
Default Watcher's Compute cluster data model:
|
||||
|
||||
.. watcher-term:: watcher.decision_engine.model.collector.nova.NovaClusterDataModelCollector
|
||||
|
||||
Actions
|
||||
*******
|
||||
|
||||
Default Watcher's actions:
|
||||
|
||||
|
||||
.. list-table::
|
||||
:widths: 30 30
|
||||
:header-rows: 1
|
||||
|
||||
* - action
|
||||
- description
|
||||
* - ``migration``
|
||||
- .. watcher-term:: watcher.applier.actions.migration.Migrate
|
||||
* - ``change_nova_service_state``
|
||||
- .. watcher-term:: watcher.applier.actions.change_nova_service_state.ChangeNovaServiceState
|
||||
|
||||
Planner
|
||||
*******
|
||||
|
||||
Default Watcher's planner:
|
||||
|
||||
.. watcher-term:: watcher.decision_engine.planner.default.DefaultPlanner
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Strategy parameter is:
|
||||
|
||||
====================== ====== ============= ===================================
|
||||
parameter type default Value description
|
||||
====================== ====== ============= ===================================
|
||||
``migration_attempts`` Number 0 Maximum number of combinations to
|
||||
be tried by the strategy while
|
||||
searching for potential candidates.
|
||||
To remove the limit, set it to 0
|
||||
====================== ====== ============= ===================================
|
||||
|
||||
Efficacy Indicator
|
||||
------------------
|
||||
|
||||
.. watcher-func::
|
||||
:format: literal_block
|
||||
|
||||
watcher.decision_engine.goal.efficacy.specs.ServerConsolidation.get_global_efficacy_indicator
|
||||
|
||||
How to use it ?
|
||||
---------------
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ openstack optimize audittemplate create \
|
||||
at1 server_consolidation --strategy basic
|
||||
|
||||
$ openstack optimize audit create -a at1 -p migration_attempts=4
|
||||
|
||||
External Links
|
||||
--------------
|
||||
None.
|
||||
8
doc/source/strategies/strategies.rst
Normal file
8
doc/source/strategies/strategies.rst
Normal file
@@ -0,0 +1,8 @@
|
||||
Strategies
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
./*
|
||||
109
doc/source/strategies/strategy-template.rst
Normal file
109
doc/source/strategies/strategy-template.rst
Normal file
@@ -0,0 +1,109 @@
|
||||
=============
|
||||
Strategy name
|
||||
=============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
**display name**:
|
||||
|
||||
**goal**:
|
||||
|
||||
Add here a complete description of your strategy
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Metrics
|
||||
*******
|
||||
|
||||
Write here the list of metrics required by your strategy algorithm (in the form
|
||||
of a table). If these metrics requires specific Telemetry plugin or other
|
||||
additional software, please explain here how to deploy them (and add link to
|
||||
dedicated installation guide).
|
||||
|
||||
Example:
|
||||
|
||||
======================= ============ ======= =======
|
||||
metric service name plugins comment
|
||||
======================= ============ ======= =======
|
||||
compute.node.* ceilometer_ none one point every 60s
|
||||
vm.cpu.utilization_perc monasca_ none
|
||||
power ceilometer_ kwapi_ one point every 60s
|
||||
======================= ============ ======= =======
|
||||
|
||||
|
||||
.. _ceilometer: http://docs.openstack.org/admin-guide/telemetry-measurements.html#openstack-compute
|
||||
.. _monasca: https://github.com/openstack/monasca-agent/blob/master/docs/Libvirt.md
|
||||
.. _kwapi: https://kwapi.readthedocs.io/en/latest/index.html
|
||||
|
||||
|
||||
Cluster data model
|
||||
******************
|
||||
|
||||
Default Watcher's cluster data model.
|
||||
|
||||
or
|
||||
|
||||
If your strategy implementation requires a new cluster data model, please
|
||||
describe it in this section, with a link to model plugin's installation guide.
|
||||
|
||||
Actions
|
||||
*******
|
||||
|
||||
Default Watcher's actions.
|
||||
|
||||
or
|
||||
|
||||
If your strategy implementation requires new actions, add the list of Action
|
||||
plugins here (in the form of a table) with a link to the plugin's installation
|
||||
procedure.
|
||||
|
||||
======== =================
|
||||
action description
|
||||
======== =================
|
||||
action1_ This action1 ...
|
||||
action2_ This action2 ...
|
||||
======== =================
|
||||
|
||||
.. _action1 : https://github.com/myrepo/watcher/plugins/action1
|
||||
.. _action2 : https://github.com/myrepo/watcher/plugins/action2
|
||||
|
||||
Planner
|
||||
*******
|
||||
|
||||
Default Watcher's planner.
|
||||
|
||||
or
|
||||
|
||||
If your strategy requires also a new planner to schedule built actions in time,
|
||||
please describe it in this section, with a link to planner plugin's
|
||||
installation guide.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
If your strategy use configurable parameters, explain here how to tune them.
|
||||
|
||||
|
||||
Efficacy Indicator
|
||||
------------------
|
||||
|
||||
Add here the Efficacy indicator computed by your strategy.
|
||||
|
||||
How to use it ?
|
||||
---------------
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ Write the command line to create an audit with your strategy.
|
||||
|
||||
External Links
|
||||
--------------
|
||||
|
||||
If you have written papers, blog articles .... about your strategy into Watcher,
|
||||
or if your strategy is based from external publication(s), please add HTTP
|
||||
links and references in this section.
|
||||
|
||||
- `link1 <http://www.link1.papers.com>`_
|
||||
- `link2 <http://www.link2.papers.com>`_
|
||||
Reference in New Issue
Block a user