settingsLogin | Registersettings

[openstack-announce] [new][watcher] python-watcher 0.32.0 release (ocata)

0 votes

We are grateful to announce the release of:

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

This release is part of the ocata release series.

The source is available from:

https://github.com/openstack/watcher

Download the package from:

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

Please report issues through launchpad:

http://bugs.launchpad.net/watcher

For more details, please see below.

Changes in python-watcher 0.30.0..0.32.0


46f511a Implemented base + moved plugins & service conf
25da163 Add audit.planner events
19fe0a0 Add audit.strategy events
6f9f67c Implemented audit.delete notification
0c0a9c8 Implemented audit.create notification
9405eb0 Implemented audit.update notification
54c45a2 Update devstack plugin to add notification param
4bebf88 Added notificationlevel config option
cdda06c Removed status
topic config parameter
395ccbd Remove stale notification code
cdee271 Added notifications documentation page
b27e5b9 Added support for versioned notifications
5c79389 Add doc for vmworkloadconsolidation strategy
3532c74 Updated from global requirements
9761207 Add doc for workload-stabilization spec
72c9d86 Fix the typo in efficacyindicator module
5e9a2f6 Fix NoMetricValuesForInstance error
b6e17a8 Use oslo
log instead of logging
3e392b0 optimized 'findinstance()'
ea7e6a7 Fix workload stabilization strategy to ignore disabled hosts
090d5d1 Added Tempest API tests for /scoring
engines
4973dd6 Remove unused SUBMITTED audit state
b4b17ba Added actionplan ObjectField for Action
060c369 Added audit & strategy ObjectField for ActionPlan
f9df54c Added goal & strategy ObjectField for Audit
54cf10b Added goal+strategy ObjectField for AuditTemplate
f54aca7 Added 'goal' ObjectField for Strategy object
fc31dae Refactored Watcher objects to use OVO
ed95d62 Removed deadline, version, extra & host
aggregate
750e6bf Eager loading on One-to-X foreign keys
afdfd81 [Doc] Fix strategy list optional argument
aae3f79 Use Enum value instead of String Value Fixing Gating Issue.
b48b881 Change "Openstack" to "OpenStack"
e681645 Avoid use xx=[] for parameter to initialize it's value
ef0d133 Transform KB into MB and normalize CPU
40f98bf Updated from global requirements
35e6565 Delete python bytecode file
3de2d36 Add strategy template doc
6331274 Drop MANIFEST.in - it's not needed by pbr
48cc6b2 Add Audit Scope Handler
c34a1ac Add service object to the watcherdbschema
e7a1e14 Add service supervisor
0a7a9e9 Updated from global requirements
3129f31 Added Model base class + related doc
cd2cd18 Add RECOMMENDED state
f1a2de4 Enable release notes translation
10cbcd2 Added composite unique name constraints
f2e5702 Added missing test on GMR plugin
96357ae Moved Watcher doc plugin outside main package
631e139 Stop adding ServiceAvailable group option
db3b5b3 HasLength() rewritten to assertEqual()
74acf2a Updated from global requirements
abe3739 Fix typo in docstring
8b37bef Remove duplicate unittest
0f9361e Fix typo in hooks.py
c8d6059 Docstrings should not start with a space
e7888b2 Fix capital letter in doc
d0ea20e Doc updates
55591cc Watcher utils cleanup
5112f29 Fixed GMR configuration issue
83d06ce Add constraint target to tox.ini and remove 1 dep
0d61667 Updated from global requirements
d8ae88d 'tox -e py27' failed
9eeaa07 Fix typo in docstring from "interprete" to "interpret"
88b04db Fix a typo in watcher.po
1fc59cc Deactivate dashboard plugin until fixed
7714f48 remove redundant word
f741434 Fix a typo in basicconsolidation.py
8cf233a Update Watcher description
56a9dd0 Test code tidy up
f79bed0 Update reno for stable/newton
55537d2 Fixed issue on compute nodes iteration
e621f5d Refactored Tests to load scenarios from file
b2fe413 Updated from global requirements
b6ab86c Remove group
by statement in metric queries

Diffstat (except docs and test files)


MANIFEST.in | 6 -
README.rst | 6 +-
devstack/lib/watcher | 2 +
devstack/local.conf.controller | 2 +-
.../infra-optim-exception.json | 16 +
.../plantuml/sequenceoverviewwatcherusage.txt | 2 +-
.../plantuml/watcher
dbschemadiagram.txt | 68 +-
.../images/sequenceoverviewwatcherusage.png | Bin 46772 -> 46482 bytes
.../strategies/basic-server-consolidation.rst | 96 +++
.../strategies/vm
workloadconsolidation.rst | 100 +++
etc/watcher/policy.json | 6 +-
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/newton.rst | 6 +
requirements.txt | 31 +-
setup.cfg | 4 +-
test-requirements.txt | 12 +-
tox.ini | 16 +-
watcher/api/acl.py | 2 +-
watcher/api/controllers/root.py | 2 +-
watcher/api/controllers/v1/init.py | 13 +
watcher/api/controllers/v1/action.py | 2 +-
watcher/api/controllers/v1/audit.py | 59 +-
watcher/api/controllers/v1/audit
template.py | 60 +-
watcher/api/controllers/v1/efficacyindicator.py | 2 +-
watcher/api/controllers/v1/service.py | 263 ++++++++
watcher/api/controllers/v1/strategy.py | 2 +-
watcher/api/controllers/v1/utils.py | 24 +-
watcher/api/hooks.py | 2 +-
watcher/api/middleware/auth
token.py | 2 +-
watcher/applier/actionplan/default.py | 30 +-
watcher/applier/manager.py | 45 +-
watcher/applier/messaging/event
types.py | 25 -
watcher/applier/rpcapi.py | 43 +-
watcher/applier/workflowengine/base.py | 9 +-
watcher/applier/workflow
engine/default.py | 17 +-
watcher/cmd/api.py | 8 +-
watcher/cmd/applier.py | 6 +-
watcher/cmd/dbmanage.py | 5 +-
watcher/cmd/decisionengine.py | 6 +-
watcher/cmd/sync.py | 4 +-
watcher/common/ceilometerhelper.py | 6 +-
watcher/common/exception.py | 34 +-
watcher/common/messaging/init.py | 0
watcher/common/messaging/events/init.py | 0
watcher/common/messaging/events/event.py | 54 --
.../common/messaging/events/event
dispatcher.py | 78 ---
watcher/common/messaging/messaginghandler.py | 120 ----
watcher/common/messaging/notification
handler.py | 47 --
watcher/common/messaging/utils/init.py | 0
watcher/common/messaging/utils/observable.py | 57 --
watcher/common/messaging/utils/synchronization.py | 22 -
watcher/common/novahelper.py | 21 +-
watcher/common/observable.py | 57 ++
watcher/common/rpc.py | 14 +-
watcher/common/service.py | 187 +++---
watcher/common/service
manager.py | 50 ++
watcher/common/synchronization.py | 22 +
watcher/common/utils.py | 49 +-
watcher/conf/init.py | 25 +
watcher/conf/opts.py | 56 ++
watcher/conf/opts.py | 95 +++
watcher/conf/plugins.py | 72 +++
watcher/conf/service.py | 49 ++
watcher/db/api.py | 226 +++++--
watcher/db/sqlalchemy/api.py | 417 +++++++------
watcher/db/sqlalchemy/models.py | 133 ++--
watcher/decision
engine/audit/base.py | 50 +-
watcher/decisionengine/audit/continuous.py | 38 +-
watcher/decision
engine/cluster/history/base.py | 2 +-
watcher/decisionengine/goal/efficacy/specs.py | 4 +-
watcher/decision
engine/manager.py | 49 +-
.../decisionengine/messaging/auditendpoint.py | 4 +-
watcher/decisionengine/messaging/events.py | 26 -
watcher/decision
engine/model/base.py | 36 ++
watcher/decisionengine/model/collector/base.py | 16 +-
watcher/decision
engine/model/collector/nova.py | 12 +-
watcher/decisionengine/model/mapping.py | 16 +-
watcher/decision
engine/model/modelroot.py | 54 +-
watcher/decision
engine/model/notification/base.py | 9 -
watcher/decisionengine/planner/default.py | 6 +-
watcher/decision
engine/rpcapi.py | 41 +-
watcher/decisionengine/scope/init.py | 0
watcher/decision
engine/scope/base.py | 38 ++
watcher/decisionengine/scope/default.py | 219 +++++++
watcher/decision
engine/strategy/context/base.py | 41 +-
.../decisionengine/strategy/context/default.py | 10 +-
.../decision
engine/strategy/strategies/base.py | 23 +-
.../strategy/strategies/basicconsolidation.py | 154 ++---
.../strategies/vm
workloadconsolidation.py | 85 ++-
.../strategy/strategies/workload
stabilization.py | 70 ++-
watcher/decisionengine/sync.py | 40 +-
watcher/doc.py | 102 ---
watcher/locale/fr/LC
MESSAGES/watcher.po | 2 +-
watcher/notifications/init.py | 26 +
watcher/notifications/audit.py | 310 ++++++++++
watcher/notifications/base.py | 212 +++++++
watcher/notifications/exception.py | 55 ++
watcher/notifications/goal.py | 53 ++
watcher/notifications/strategy.py | 53 ++
watcher/objects/init.py | 58 +-
watcher/objects/action.py | 162 ++---
watcher/objects/actionplan.py | 182 +++---
watcher/objects/audit.py | 213 ++++---
watcher/objects/audit
template.py | 189 +++---
watcher/objects/base.py | 629 ++++---------------
watcher/objects/efficacyindicator.py | 62 +-
watcher/objects/fields.py | 144 +++++
watcher/objects/goal.py | 65 +-
watcher/objects/scoring
engine.py | 123 +---
watcher/objects/service.py | 141 +++++
watcher/objects/strategy.py | 120 ++--
watcher/objects/utils.py | 38 +-
watcher/opts.py | 100 ---
.../actionplan/testdefaultactionhandler.py | 25 +-
.../testdefaultworkflowengine.py | 2 +-
.../messaging/event/test
eventdispatcher.py | 84 ---
.../common/messaging/test
messaginghandler.py | 78 ---
.../common/messaging/test
notificationhandler.py | 56 --
.../decision
engine/audit/testaudithandlers.py | 181 ++++--
.../loading/testcollectorloader.py | 3 +-
.../messaging/testauditendpoint.py | 4 +-
.../decisionengine/model/data/scenario1.xml | 47 ++
.../model/data/scenario1withmetrics.xml | 8 +
.../model/data/scenario
2withmetrics.xml | 13 +
.../model/data/scenario3with2nodes.xml | 8 +
.../model/data/scenario3withmetrics.xml | 9 +
.../data/scenario
4with1nodenoinstance.xml | 3 +
.../model/data/scenario
5withinstancedisk0.xml | 5 +
.../model/data/scenario6with2nodes.xml | 10 +
.../model/data/scenario7with2nodes.xml | 10 +
.../model/data/scenario8with4nodes.xml | 16 +
...nario9with3activeplus1disablednodes.xml | 16 +
.../model/fakerclusterandmetrics.py | 161 +++++
.../decision
engine/model/fakerclusterstate.py | 157 +++++
.../model/fakermetricscollector.py | 255 ++++++++
.../model/notification/fakemanagers.py | 42 +-
.../model/notification/test
notifications.py | 6 +-
.../model/notification/testnovanotifications.py | 3 +-
.../planner/testdefaultplanner.py | 23 +-
.../strategy/context/teststrategycontext.py | 17 +-
.../strategies/fakerclusterandmetrics.py | 270 --------
.../strategy/strategies/faker
clusterstate.py | 414 -------------
.../strategy/strategies/faker
metricscollector.py | 258 --------
.../strategies/test
basicconsolidation.py | 49 +-
.../strategy/strategies/test
dummystrategy.py | 12 +-
.../strategy/strategies/test
dummywithscorer.py | 3 +-
.../strategies/testoutlettempcontrol.py | 15 +-
.../strategy/strategies/test
uniformairflow.py | 15 +-
.../strategies/test
vmworkloadconsolidation.py | 12 +-
.../strategy/strategies/testworkloadbalance.py | 15 +-
.../strategies/testworkloadstabilization.py | 39 +-
watchertempestplugin/config.py | 12 +-
watchertempestplugin/plugin.py | 8 +-
.../services/infra_optim/v1/json/client.py | 49 +-
246 files changed, 10640 insertions(+), 5673 deletions(-)

Requirements updates


diff --git a/requirements.txt b/requirements.txt
index 94e2867..0265513 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,2 +8,2 @@ jsonpatch>=1.1 # BSD
-keystoneauth1>=2.10.0 # Apache-2.0
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+keystoneauth1>=2.14.0 # Apache-2.0
+keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0
@@ -13 +13 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -15 +15 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.db>=4.10.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.11.0 # Apache-2.0
@@ -17 +17 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -19 +19 @@ oslo.messaging>=5.2.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.policy>=1.15.0 # Apache-2.0
@@ -23 +23,2 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.versionedobjects>=1.13.0 # Apache-2.0
@@ -25,3 +26,3 @@ PasteDeploy>=1.5.0 # MIT
-pbr>=1.6 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
-PrettyTable<0.8,>=0.7 # BSD
+pbr>=1.8 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
+PrettyTable<0.8,>=0.7.1 # BSD
@@ -31,2 +32,2 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+python-keystoneclient>=3.6.0 # Apache-2.0
@@ -35 +36 @@ python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-openstackclient>=2.1.0 # Apache-2.0
+python-openstackclient>=3.3.0 # Apache-2.0
@@ -38 +39 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -40 +41 @@ taskflow>=1.26.0 # Apache-2.0
-WebOb>=1.2.3 # MIT
+WebOb>=1.6.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 0ccc117..cf035ca 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -7 +7 @@ doc8 # Apache-2.0
-freezegun # Apache-2.0
+freezegun>=0.3.6 # Apache-2.0
@@ -11 +11 @@ oslotest>=1.10.0 # Apache-2.0
-os-testr>=0.7.0 # Apache-2.0
+os-testr>=0.8.0 # Apache-2.0
@@ -18,2 +18,2 @@ testtools>=1.4.0 # MIT
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -23 +23 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0


OpenStack-announce mailing list
OpenStack-announce@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-announce
asked Nov 17, 2016 in openstack-announce by no-reply_at_openstac (33,960 points)   2 14 29
...