[release-announce] [watcher] python-watcher 1.4.0 (pike)

no-reply at openstack.org no-reply at openstack.org
Fri Aug 11 01:18:07 UTC 2017


We are pleased to announce the release of:

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

This release is part of the pike stable release series.

The source is available from:

    https://github.com/openstack/watcher

Download the package from:

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

Please report issues through launchpad:

    https://bugs.launchpad.net/watcher

For more details, please see below.

1.4.0
^^^^^

New Features

* Add notifications related to Action object.

* Added the functionality to filter out instances which have
  metadata field 'optimize' set to False. For now, this is only
  available for the basic_consolidation strategy (if
  "check_optimize_metadata" configuration option is enabled).

* Added binding between apscheduler job and Watcher decision engine
  service. It will allow to provide HA support in the future.

* Enhancement of vm_workload_consolidation strategy by using
  'memory.resident' metric in place of 'memory.usage', as memory.usage
  shows the memory usage inside guest-os and memory.resident
  represents volume of RAM used by instance on host machine.

* There is new ability to create Watcher continuous audits with cron
  interval. It means you may use, for example, optional argument '--
  interval "*/5 * * * *"' to launch audit every 5 minutes. These jobs
  are executed on a best effort basis and therefore, we recommend you
  to use a minimal cron interval of at least one minute.

* Add description property for dynamic action. Admin can see detail
  information of any specify action.

* Added gnocchi support as data source for metrics. Administrator
  can change data source for each strategy using config file.

* Added using of JSONSchema instead of voluptuous to validate
  Actions.

* Added strategy to identify and migrate a Noisy Neighbor - a low
  priority VM that negatively affects peformance of a high priority VM
  by over utilizing Last Level Cache.

* Add notifications related to Service object.

* Added volume migrate action

Changes in python-watcher 1.3.0..1.4.0
--------------------------------------

d5b6e0a [Doc] Fix db creation
13b89c8 get_config_opts method was overwritten
d218e6f Replace map/filter lambda with comprehensions
d2f70f9 change ram util metric
985c6c4 Fix failure to load storage plugin
5b741b2 Fix exception.ComputeNodeNotFound
382f641 Updated from global requirements
5da5db8 Change exception class from monascaclient
b43633f Fix ironic client input parameter
d5a7d76 Fix show db version in README
7836276 Fix compute CDM to include disabled compute node
3043e57 Update State diagram of Action Plan
4f38595 Modification of statistic_aggregation method
30def6f Fix incorrect action status in notifications
0b31828 Added Actuator Strategy
398974a [Doc] Update software version
3a29b4e Fix continuous audit fails once it fails
8024dbf Updated from global requirements
dac0924 Fix Hardcoded availability zone in nova-helper
5a28ac7 Saving Energy Strategy
a24b7f0 dynamic action description
c03668c [Doc] Add cinder to architecture diagram
aab1824 Add release notes for Pike
c121789 [Doc] Add Configure Cinder Notifications
f733fbe Update the documention for doc migration
bff76de Add volume migrate action
22ee0aa Ignore autogenerated sample config file


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

.gitignore                                         |   3 +
.../plantuml/action_plan_state_machine.txt         |   4 +-
.../strategies/vm_workload_consolidation.rst       |   4 +-
...rsioned-notifications-api-ff94fc0f401292d0.yaml |   3 +
.../audit-tag-vm-metadata-47a3e4468748853c.yaml    |   6 +
.../notes/background-jobs-ha-9d3cf3fe356f4705.yaml |   4 +
.../change-ram-util-metric-4a3e6984b9dd968d.yaml   |   8 +
...n-based-continuous-audits-c3eedf28d9752b37.yaml |   7 +
...ynamic-action-description-0e947b9e7ef2a134.yaml |   4 +
.../notes/gnocchi-watcher-43c25d391fbd3e9c.yaml    |   4 +
.../jsonschema-validation-79cab05d5295da00.yaml    |   3 +
.../noisy-neighbor-strategy-a71342740b59dddc.yaml  |   5 +
...rsioned-notifications-api-70367b79a565d900.yaml |   3 +
.../volume-migrate-action-fc57b0ce0e4c39ae.yaml    |   4 +
requirements.txt                                   |   8 +-
setup.cfg                                          |   4 +
test-requirements.txt                              |   2 +-
watcher/api/controllers/v1/action.py               |  12 +
watcher/api/middleware/auth_token.py               |   4 +-
watcher/applier/actions/volume_migration.py        | 252 +++++++++++++++
watcher/applier/sync.py                            |  44 +++
watcher/applier/workflow_engine/base.py            |  25 +-
watcher/applier/workflow_engine/default.py         |  23 +-
watcher/cmd/applier.py                             |   4 +
watcher/common/cinder_helper.py                    | 210 ++++++++++++-
watcher/common/clients.py                          |   2 +-
watcher/common/exception.py                        |   9 +
watcher/common/keystone_helper.py                  | 124 ++++++++
watcher/common/nova_helper.py                      |  32 +-
watcher/common/utils.py                            |   7 +
watcher/conf/__init__.py                           |   2 +
watcher/conf/collector.py                          |  37 +++
watcher/datasource/gnocchi.py                      |  12 +
watcher/datasource/monasca.py                      |   2 +-
watcher/db/sqlalchemy/alembic/README.rst           |   2 +-
.../d09a5945e4a0_add_action_description_table.py   |  32 ++
watcher/db/sqlalchemy/api.py                       |  71 +++++
watcher/db/sqlalchemy/models.py                    |  14 +
watcher/decision_engine/audit/continuous.py        |   9 +-
watcher/decision_engine/goal/__init__.py           |   3 +-
watcher/decision_engine/goal/goals.py              |  24 ++
watcher/decision_engine/model/collector/manager.py |   6 +-
watcher/decision_engine/planner/weight.py          |   4 +-
watcher/decision_engine/scope/default.py           |   8 +-
.../strategy/strategies/__init__.py                |  11 +-
.../strategy/strategies/actuation.py               |  99 ++++++
.../decision_engine/strategy/strategies/base.py    |   8 +
.../strategy/strategies/outlet_temp_control.py     |  11 +
.../strategy/strategies/saving_energy.py           | 201 ++++++++++++
.../strategies/vm_workload_consolidation.py        |   6 +-
watcher/objects/__init__.py                        |   1 +
watcher/objects/action_description.py              | 141 +++++++++
.../decision_engine/audit/test_audit_handlers.py   |  23 ++
.../model/faker_cluster_and_metrics.py             |   4 +-
.../strategy/strategies/test_actuator.py           |  37 +++
.../strategy/strategies/test_saving_energy.py      | 237 ++++++++++++++
78 files changed, 3115 insertions(+), 147 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 7a18c2f..0a62ff1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ jsonpatch>=1.1 # BSD
-keystoneauth1>=3.0.1 # Apache-2.0
+keystoneauth1>=3.1.0 # Apache-2.0
@@ -34,2 +34,2 @@ python-ceilometerclient>=2.5.0 # Apache-2.0
-python-cinderclient>=3.0.0 # Apache-2.0
-python-glanceclient>=2.7.0 # Apache-2.0
+python-cinderclient>=3.1.0 # Apache-2.0
+python-glanceclient>=2.8.0 # Apache-2.0
@@ -37 +37 @@ python-keystoneclient>=3.8.0 # Apache-2.0
-python-monascaclient>=1.1.0 # Apache-2.0
+python-monascaclient>=1.7.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 84a7d89..9283979 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -18 +18 @@ testtools>=1.4.0 # MIT
-openstackdocstheme>=1.11.0 # Apache-2.0
+openstackdocstheme>=1.16.0 # Apache-2.0






More information about the Release-announce mailing list