[release-announce] python-watcher 5.0.0 (victoria)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 14 10:52:45 UTC 2020


We are psyched to announce the release of:

python-watcher 5.0.0: OpenStack Watcher provides a flexible and
scalable resource optimization service for multi-tenant OpenStack-
based clouds.

This release is part of the victoria release series.

The source is available from:

    https://opendev.org/openstack/python-watcher

Download the package from:

    https://tarballs.openstack.org/watcher/

For more details, please see below.

Changes in python-watcher 4.0.0.0rc1..5.0.0
-------------------------------------------

583c9460 Use importlib to take place of im module
ed591453 Native Zuul v3 watcher-grenade job + some cleanup
19adfda3 option to rollback action_plan when it fails
1667046f resize action don't support revert
3f7a508a Watcher API supports strategy name when creating audit template
57f55190 Revert "Don't revert Migrate action"
ae678dfa remove mox3
dbd86be3 voting watcher-grenade
9f0138e1 Check if scope is None
097ac06f Use uwsgi binary from path and mark grenade non-voting
0869b1c7 Use unittest.mock instead of mock
b0c411b2 Cap jsonschema 3.2.0 as the minimal version
4a1915be Compatible with old scope format
75102785 Use unittest.mock instead of third party mock
1ff94059 Switch to newer openstackdocstheme and reno versions
9d495618 Fix requirements check
c6d2690a Remove translation sections from setup.cfg
5c34b6bc hacking: force explicit import of python's mock
8a36ad5f Use unittest.mock instead of third party mock
6ff95efa Fix hacking min version to 3.0.1
0b4c4f1d Monkey patch original current_thread _active
96525714 Add py38 package metadata
f0f15f89 Remove future imports
075e374b Remove Babel requirement
a30dbdd7 Imported Translations from Zanata
60a829e9 Add Python3 victoria unit tests
74cfa0fc Update master for stable/ussuri
5071c8f8 Remove six[8] remove requirement&low-requirement
0ef0f165 Remove six[7]


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

.zuul.yaml                                         | 27 +++------
api-ref/source/conf.py                             | 25 ++------
babel.cfg                                          |  2 -
devstack/lib/watcher                               |  2 +-
lower-constraints.txt                              | 13 +----
.../legacy/grenade-devstack-watcher/post.yaml      | 15 -----
playbooks/legacy/grenade-devstack-watcher/run.yaml | 60 -------------------
releasenotes/source/conf.py                        |  7 ++-
releasenotes/source/index.rst                      |  1 +
releasenotes/source/ussuri.rst                     |  6 ++
requirements.txt                                   |  5 +-
setup.cfg                                          | 16 +----
test-requirements.txt                              |  3 +-
tox.ini                                            |  3 +-
watcher/api/config.py                              |  2 -
watcher/api/controllers/v1/audit_template.py       | 20 +++++--
watcher/api/hooks.py                               |  2 +-
watcher/api/middleware/parsable_error.py           |  7 +--
watcher/api/scheduling.py                          |  3 +-
watcher/applier/action_plan/base.py                |  4 +-
watcher/applier/actions/base.py                    |  4 +-
watcher/applier/actions/factory.py                 |  2 -
watcher/applier/actions/migration.py               |  2 +-
watcher/applier/actions/resize.py                  |  2 +-
watcher/applier/base.py                            |  4 +-
watcher/applier/loading/default.py                 |  3 -
watcher/applier/workflow_engine/base.py            |  4 +-
watcher/applier/workflow_engine/default.py         | 17 +++++-
watcher/cmd/__init__.py                            |  7 +++
watcher/common/context.py                          |  3 +-
watcher/common/loader/base.py                      |  6 +-
watcher/common/loader/default.py                   |  2 -
watcher/common/loader/loadable.py                  |  8 +--
watcher/common/service_manager.py                  |  4 +-
watcher/common/utils.py                            |  5 +-
watcher/conf/applier.py                            | 11 +++-
watcher/db/api.py                                  |  4 +-
watcher/db/purge.py                                |  3 -
watcher/decision_engine/audit/base.py              | 12 ++--
watcher/decision_engine/datasources/grafana.py     |  3 +-
watcher/decision_engine/goal/base.py               |  4 +-
watcher/decision_engine/goal/efficacy/base.py      |  5 +-
.../decision_engine/goal/efficacy/indicators.py    |  4 +-
watcher/decision_engine/loading/default.py         |  3 -
watcher/decision_engine/model/base.py              |  4 +-
watcher/decision_engine/model/collector/base.py    |  5 +-
watcher/decision_engine/model/collector/cinder.py  |  7 ++-
watcher/decision_engine/model/collector/ironic.py  |  3 +
watcher/decision_engine/model/collector/nova.py    |  3 +
.../model/element/baremetal_resource.py            |  4 +-
watcher/decision_engine/model/element/base.py      |  4 +-
.../model/element/compute_resource.py              |  4 +-
.../model/element/storage_resource.py              |  4 +-
watcher/decision_engine/model/model_root.py        | 25 ++++----
watcher/decision_engine/model/notification/base.py |  4 +-
.../decision_engine/model/notification/cinder.py   |  4 +-
.../model/notification/filtering.py                |  3 +-
watcher/decision_engine/planner/base.py            |  4 +-
watcher/decision_engine/scope/base.py              |  4 +-
watcher/decision_engine/scoring/base.py            |  7 +--
watcher/decision_engine/solution/base.py           |  4 +-
.../solution/solution_comparator.py                |  4 +-
.../decision_engine/solution/solution_evaluator.py |  4 +-
watcher/decision_engine/strategy/context/base.py   |  4 +-
watcher/decision_engine/strategy/selection/base.py |  4 +-
.../decision_engine/strategy/strategies/base.py    | 31 ++++------
.../strategies/vm_workload_consolidation.py        |  5 +-
.../strategy/strategies/workload_balance.py        |  2 -
.../strategy/strategies/zone_migration.py          |  7 +--
watcher/decision_engine/threading.py               |  4 +-
watcher/hacking/checks.py                          | 28 +++++++++
watcher/locale/de/LC_MESSAGES/watcher.po           | 68 ++++++++++------------
watcher/locale/en_GB/LC_MESSAGES/watcher.po        | 39 +------------
watcher/objects/fields.py                          |  7 +--
.../action_plan/test_default_action_handler.py     |  2 +-
.../actions/loading/test_default_actions_loader.py |  1 -
.../actions/test_change_node_power_state.py        |  3 +-
.../actions/test_change_nova_service_state.py      |  3 +-
.../messaging/test_trigger_action_plan_endpoint.py |  2 +-
.../loading/test_default_engine_loader.py          |  1 -
.../test_default_workflow_engine.py                |  7 +--
.../test_taskflow_action_container.py              | 53 ++++++++++++++++-
.../decision_engine/audit/test_audit_handlers.py   |  2 +-
.../decision_engine/cluster/test_cinder_cdmc.py    |  2 +-
.../cluster/test_cluster_data_model_collector.py   | 38 +++++++++++-
.../decision_engine/cluster/test_nova_cdmc.py      |  2 +-
.../datasources/grafana_translators/test_base.py   |  2 +-
.../grafana_translators/test_influxdb.py           |  2 +-
.../datasources/test_ceilometer_helper.py          |  5 +-
.../datasources/test_gnocchi_helper.py             |  3 +-
.../datasources/test_grafana_helper.py             |  2 +-
.../decision_engine/datasources/test_manager.py    |  4 +-
.../datasources/test_monasca_helper.py             |  3 +-
.../loading/test_collector_loader.py               |  2 +-
.../loading/test_default_strategy_loader.py        |  2 +-
.../decision_engine/loading/test_goal_loader.py    |  2 +-
.../messaging/test_audit_endpoint.py               |  2 +-
.../messaging/test_data_model_endpoint.py          |  2 +-
.../model/faker_cluster_and_metrics.py             |  2 +-
.../decision_engine/model/faker_cluster_state.py   |  2 +-
.../notification/test_cinder_notifications.py      |  2 +-
.../model/notification/test_notifications.py       |  2 +-
.../model/notification/test_nova_notifications.py  |  2 +-
.../planner/test_node_resource_consolidation.py    |  2 +-
.../decision_engine/planner/test_weight_planner.py |  2 +-
.../planner/test_workload_stabilization_planner.py |  2 +-
.../solution/test_default_solution.py              |  2 +-
.../strategy/context/test_strategy_context.py      |  2 +-
.../strategy/selector/test_strategy_selector.py    |  2 +-
.../strategy/strategies/test_actuator.py           |  2 +-
.../strategy/strategies/test_base.py               |  2 +-
.../strategies/test_basic_consolidation.py         |  2 +-
.../strategy/strategies/test_dummy_strategy.py     |  2 +-
.../strategy/strategies/test_dummy_with_scorer.py  |  2 +-
.../strategy/strategies/test_host_maintenance.py   |  2 +-
.../strategies/test_node_resource_consolidation.py |  2 +-
.../strategy/strategies/test_noisy_neighbor.py     |  2 +-
.../strategies/test_outlet_temp_control.py         |  2 +-
.../strategy/strategies/test_saving_energy.py      |  2 +-
.../strategies/test_storage_capacity_balance.py    |  2 +-
.../strategy/strategies/test_strategy_endpoint.py  |  2 +-
.../strategy/strategies/test_uniform_airflow.py    |  2 +-
.../strategies/test_vm_workload_consolidation.py   |  2 +-
.../strategy/strategies/test_workload_balance.py   |  2 +-
.../strategies/test_workload_stabilization.py      |  2 +-
.../strategy/strategies/test_zone_migration.py     |  2 +-
.../notifications/test_action_notification.py      |  3 +-
.../notifications/test_action_plan_notification.py |  3 +-
.../notifications/test_service_notifications.py    |  2 +-
192 files changed, 531 insertions(+), 592 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index c5bf3b3e..14d78ac5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ keystoneauth1>=3.4.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
@@ -42 +41,0 @@ python-ironicclient>=2.5.0 # Apache-2.0
-six>=1.11.0 # MIT
@@ -48 +47 @@ WSME>=0.9.2 # MIT
-networkx>=2.2;python_version>='3.4' # BSD
+networkx>=2.2 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 69ba46a6..1eda92b7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8,2 +8 @@ freezegun>=0.3.10 # Apache-2.0
-hacking>=3.0,<3.1.0 # Apache-2.0
-mock>=2.0.0 # BSD
+hacking>=3.0.1,<3.1.0 # Apache-2.0






More information about the Release-announce mailing list