[openstack-announce] [new][watcher] python-watcher 0.28.0 release (newton)

no-reply at openstack.org no-reply at openstack.org
Wed Jul 13 16:11:32 UTC 2016


We are stoked to announce the release of:

python-watcher 0.28.0: Watcher takes advantage of CEP and ML
algorithms/metaheuristics to improve physical resources usage through
better VM placement. Watcher can improve your cloud optimization by
reducing energy footprint and increasing profits.

This release is part of the newton release series.

With source available at:

    https://github.com/openstack/watcher

Please report issues through launchpad:

    http://bugs.launchpad.net/watcher

For more details, please see below.

Changes in python-watcher 0.27.0..0.28.0
----------------------------------------

a68eb0d Update unitaty tests to verify strategy and goal name
517f1d0 Bad goal and strategy name for Airflow Optimization
76a61e2 Fix unittest in test_api.py
dcf5207 Optimize local.conf.controller file to enable watche-dashboard
1de0008 Add continuously optimization
533a4c7 Add Desktop Service Store to .gitignore file
1d3891e Documentation for strategy parameters
f13d6dd Updated from global requirements
e7bbf1d Add new documentation section for Watcher policies rules
bc06a7d Add policies for API access control to watcher project.
1a1d9d0 Fix watcher doc build error
47ff9bb Fix field type to audit_type
ca5b849 Remove duplicate unittest
2272b51 Fix link error in base-setup.rst
f6b1b51 Fix failing Tempest tests
0b29a83 Enable strategy parameters
117079f Update Docs links to docs.openstack.org
d03e1d5 add dependency for 3rd-party plugins
b4c5e2b Make default Planner generic to handle new action
369428c Modify IRC weekly meeting time
2381a67 Uniform Airflow migration strategy implementation
da8b24f Updated from global requirements
37595e9 Centralize plugin loaders in watcher/applier
cb693e4 Add importing modules instead of classes
9918f59 Centralize plugin loaders in decision engine
07c7ba9 Add goal_name field in strategy
73cf5a9 Updated from global requirements
80abcd6 Use disabled/enabled to change service state
b3c2d3a Check if nova-service is already disabled
4fc3307 Add bandit in tox -e pep8
77c07a4 Added filter operators
7b403c0 Fix StrategyContext to use the strategy_id in the Audit Template
e8fc4a1 Use proper theme for release notes
921e531 Fix releasenotes generation
45801cf Documentation on goal and efficacy
442512c Added efficacy indicators to /action_plans
2b95a4c Added pre/post execution methods to strategies
84b12f8 Added EfficacyIndicator object
f665d83 Added efficacy specification to /goals
5e16e03 Add reno for release notes management
eab47bf Added EfficacyIndicator model in DB
2544327 Decoupled Goal from Strategy
2412df4 Fix broken link in doc
cb342b4 Added missing config section for autogeneration
1a4d5a3 Updated from global requirements
8b8d2f0 Added audit_template filter to /audits/detail
ca37358 Add fix for hardware.cpu.util meter in sd-strategy
5d66f66 Add fix for __init__() error
d9a2b88 Updated tempest test creds retrieval mechanism
164a802 Replace assertEqual(None, *) with assertIsNone in tests
dbdf690 Remove direct access to dbapi


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |   7 +
README.rst                                         |   2 +-
devstack/local.conf.controller                     |   3 +
...from_audit_execution_to_actionplan_creation.txt |  44 ++
.../sequence_trigger_audit_in_decision_engine.txt  |  71 +-
.../image_src/plantuml/watcher_class_diagram.txt   |  87 ---
.../plantuml/watcher_db_schema_diagram.txt         | 123 ++++
...from_audit_execution_to_actionplan_creation.png | Bin 0 -> 47585 bytes
.../sequence_trigger_audit_in_decision_engine.png  | Bin 56776 -> 83923 bytes
etc/watcher/policy.json                            |  34 +-
etc/watcher/watcher-config-generator.conf          |   9 +-
releasenotes/notes/.placeholder                    |   0
releasenotes/source/_static/.placeholder           |   0
releasenotes/source/conf.py                        | 244 +++++++
releasenotes/source/index.rst                      |  10 +
releasenotes/source/unreleased.rst                 |   5 +
requirements.txt                                   |  15 +-
setup.cfg                                          |  11 +-
test-requirements.txt                              |  10 +-
tox.ini                                            |  10 +-
watcher/api/app.py                                 |   2 +-
watcher/api/config.py                              |   2 +-
watcher/api/controllers/v1/__init__.py             |   3 +-
watcher/api/controllers/v1/action.py               |  16 +-
watcher/api/controllers/v1/action_plan.py          | 126 +++-
watcher/api/controllers/v1/audit.py                | 126 +++-
watcher/api/controllers/v1/audit_template.py       |  47 +-
watcher/api/controllers/v1/efficacy_indicator.py   |  72 ++
watcher/api/controllers/v1/goal.py                 |  52 +-
watcher/api/controllers/v1/strategy.py             |  42 +-
watcher/api/controllers/v1/utils.py                |  19 +
watcher/api/hooks.py                               |   5 +-
watcher/applier/actions/factory.py                 |   2 +-
watcher/applier/actions/loading/__init__.py        |   0
watcher/applier/actions/loading/default.py         |  25 -
watcher/applier/default.py                         |  10 +-
watcher/applier/loading/__init__.py                |   0
watcher/applier/loading/default.py                 |  29 +
.../applier/workflow_engine/loading/__init__.py    |   0
watcher/applier/workflow_engine/loading/default.py |  26 -
watcher/cmd/api.py                                 |   4 +-
watcher/common/ceilometer_helper.py                |   4 +-
watcher/common/context.py                          |   8 +-
watcher/common/exception.py                        |  35 +
watcher/common/loader/default.py                   |   1 -
watcher/common/policy.py                           | 101 +--
watcher/common/utils.py                            |  23 +
watcher/db/api.py                                  | 108 ++-
watcher/db/sqlalchemy/api.py                       | 425 ++++++------
watcher/db/sqlalchemy/models.py                    |  29 +-
watcher/decision_engine/audit/base.py              |  84 +++
watcher/decision_engine/audit/continuous.py        | 126 ++++
watcher/decision_engine/audit/default.py           |  87 ---
watcher/decision_engine/audit/oneshot.py           |  26 +
watcher/decision_engine/goal/__init__.py           |  26 +
watcher/decision_engine/goal/base.py               |  68 ++
watcher/decision_engine/goal/efficacy/__init__.py  |   0
watcher/decision_engine/goal/efficacy/base.py      |  84 +++
.../decision_engine/goal/efficacy/indicators.py    | 132 ++++
watcher/decision_engine/goal/efficacy/specs.py     |  52 ++
watcher/decision_engine/goal/goals.py              | 164 +++++
watcher/decision_engine/loading/__init__.py        |   0
watcher/decision_engine/loading/default.py         |  41 ++
.../decision_engine/messaging/audit_endpoint.py    |  12 +-
watcher/decision_engine/messaging/events.py        |   4 +-
watcher/decision_engine/model/hypervisor.py        |  14 +-
watcher/decision_engine/model/hypervisor_state.py  |   4 +-
watcher/decision_engine/model/mapping.py           |   4 +-
watcher/decision_engine/model/power_state.py       |   4 +-
watcher/decision_engine/model/resource.py          |   4 +-
watcher/decision_engine/model/vm.py                |   8 +-
watcher/decision_engine/model/vm_state.py          |   4 +-
watcher/decision_engine/planner/default.py         |  62 +-
.../decision_engine/planner/loading/__init__.py    |   0
watcher/decision_engine/planner/loading/default.py |  26 -
watcher/decision_engine/planner/manager.py         |   2 +-
watcher/decision_engine/solution/base.py           |  90 +--
watcher/decision_engine/solution/default.py        |  14 +-
watcher/decision_engine/solution/efficacy.py       | 105 +++
.../decision_engine/strategy/context/default.py    |  39 +-
.../decision_engine/strategy/loading/__init__.py   |   0
.../decision_engine/strategy/loading/default.py    |  29 -
.../decision_engine/strategy/selection/default.py  |   2 +-
.../strategy/strategies/__init__.py                |  10 +-
.../decision_engine/strategy/strategies/base.py    | 166 +++--
.../strategy/strategies/basic_consolidation.py     | 199 +++---
.../strategy/strategies/dummy_strategy.py          |  43 +-
.../strategy/strategies/outlet_temp_control.py     |  95 +--
.../strategy/strategies/uniform_airflow.py         | 326 +++++++++
.../strategies/vm_workload_consolidation.py        |  88 +--
.../strategy/strategies/workload_balance.py        | 131 ++--
.../strategy/strategies/workload_stabilization.py  | 113 ++--
watcher/decision_engine/sync.py                    |  67 +-
watcher/doc.py                                     |   2 +-
watcher/locale/watcher.pot                         | 331 ++++++---
.../cluster_model_collector/manager.py             |   1 +
watcher/objects/__init__.py                        |   6 +-
watcher/objects/action_plan.py                     |  20 +-
watcher/objects/audit.py                           |   4 +-
watcher/objects/efficacy_indicator.py              | 197 ++++++
watcher/objects/goal.py                            |   1 +
watcher/objects/strategy.py                        |   1 +
watcher/objects/utils.py                           |   9 +
watcher/opts.py                                    |  15 +-
.../actions/loading/test_default_actions_loader.py |   2 +-
.../loading/test_default_engine_loader.py          |   2 +-
.../messaging/event/test_event_dispatcher.py       |  46 +-
.../common/messaging/test_notification_handler.py  |   9 +-
.../decision_engine/audit/test_audit_handlers.py   | 139 ++++
.../audit/test_default_audit_handler.py            |  69 --
.../messaging/test_audit_endpoint.py               |  54 +-
.../decision_engine/model/test_named_element.py    |   6 +-
.../planner/test_default_planner.py                |  79 ++-
.../planner/test_default_planner_loader.py         |   2 +-
.../solution/test_default_solution.py              |   5 +-
.../strategy/context/test_strategy_context.py      |  95 ++-
.../loading/test_default_strategy_loader.py        |  44 +-
.../strategy/selector/test_strategy_selector.py    |  11 +-
.../strategies/faker_cluster_and_metrics.py        |   2 +-
.../strategy/strategies/faker_cluster_state.py     |  70 ++
.../strategy/strategies/faker_metrics_collector.py |  44 +-
.../strategies/test_basic_consolidation.py         | 188 +++---
.../strategy/strategies/test_dummy_strategy.py     |  41 +-
.../strategies/test_outlet_temp_control.py         | 106 +--
.../strategy/strategies/test_uniform_airflow.py    | 174 +++++
.../strategies/test_vm_workload_consolidation.py   | 226 +++----
.../strategy/strategies/test_workload_balance.py   | 120 ++--
.../strategies/test_workload_stabilization.py      | 188 +++---
watcher_tempest_plugin/infra_optim_clients.py      |   2 +-
.../services/infra_optim/v1/json/client.py         |   2 +-
193 files changed, 7884 insertions(+), 2418 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 13ce8ab..74cb8d3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,0 +5 @@
+apscheduler # MIT License
@@ -7 +8 @@ jsonpatch>=1.1 # BSD
-keystoneauth1>=2.1.0 # Apache-2.0
+keystoneauth1>=2.7.0 # Apache-2.0
@@ -11,2 +12,2 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.config>=3.9.0 # Apache-2.0
-oslo.context>=2.2.0 # Apache-2.0
+oslo.config>=3.10.0 # Apache-2.0
+oslo.context>=2.4.0 # Apache-2.0
@@ -16,2 +17,2 @@ oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=4.5.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
@@ -20 +21 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.utils>=3.14.0 # Apache-2.0
@@ -27 +28 @@ python-ceilometerclient>=2.2.1 # Apache-2.0
-python-cinderclient!=1.7.0,>=1.6.0 # Apache-2.0
+python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 0cc0331..27e4a7f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12 @@ oslotest>=1.10.0 # Apache-2.0
-os-testr>=0.4.1 # Apache-2.0
+os-testr>=0.7.0 # Apache-2.0
@@ -20 +20 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
@@ -21,0 +22,6 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
+
+# releasenotes
+reno>=1.8.0 # Apache2
+
+# bandit
+bandit>=1.0.1 # Apache-2.0





More information about the OpenStack-announce mailing list