We are thrilled to announce the release of: python-watcher 1.2.0: OpenStack Watcher provides a flexible and scalable resource optimization service for multi-tenant OpenStack- based clouds. This release is part of the pike 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.2.0 ^^^^^ New Features * Adds feature to cancel an action-plan. Changes in python-watcher 1.1.0..1.2.0 -------------------------------------- d7a4473 Cancel Action Plan 58d86de Updated from global requirements 8d84da3 Add rm to whitelist_externals in tox.ini f47fd9a Remove usage of parameter enforce_type 7b76668 Replace default cinder endpoint type 75a025d Add action description a62acbf Watcher official install-guide 35074ed Trivial fix typos dd4aac4 Replace oslo_utils.timeutils.isotime 1001525 Updated from global requirements a33f40e Deleted audit record still get by 'audit list'cmd d2a8454 Versioned Notifications for service object bb536ee Change cinder api_version to '3' in default a0bf1b7 Updated from global requirements 6c5a391 doc error for WeightPlanner a4fac69 Remove the deprecated tempest.test.attr 2199429 Replace assertRaisesRegexp with assertRaisesRegex 8a818c9 Updated from global requirements 2b152bf [bugfix]for division use accurate division 08e585d Fix a typo 38e4255 Updated from global requirements f40fcdc Add Watcher JobStore for background jobs 8772305 Updated from global requirements 0a899a2 Add host_aggregates in exclude rule of audit scope 426232e replace nova endpoint dcf64ed Add 'rm -f .testrepository/times.dbm' command in testenv 216f3ba [Doc] fix local.conf.compute 077b806 [bugfix]retry is reached but action still success d892153 use instance data replace exception.NoDataFound 2efe211 Set access_policy for messaging's dispatcher f55ea78 Fix devstack plugin e5eb4f5 [Doc] messaging -> messagingv2 f637a36 Add ironicclient 527423a exception when running 'watcher actionplan start XXX' 334558f Added tempest test for workload_stabilization fd55d28 Reduced the code complexity Diffstat (except docs and test files) ------------------------------------- devstack/lib/watcher | 2 +- devstack/local.conf.compute | 2 +- install-guide/source/common_configure.rst | 71 +++++ install-guide/source/common_prerequisites.rst | 139 ++++++++++ install-guide/source/conf.py | 301 +++++++++++++++++++++ install-guide/source/get_started.rst | 27 ++ install-guide/source/index.rst | 39 +++ install-guide/source/install-obs.rst | 34 +++ install-guide/source/install-rdo.rst | 38 +++ install-guide/source/install-ubuntu.rst | 34 +++ install-guide/source/install.rst | 20 ++ install-guide/source/next-steps.rst | 9 + install-guide/source/verify.rst | 119 ++++++++ .../notes/action-plan-cancel-c54726378019e096.yaml | 4 + requirements.txt | 21 +- test-requirements.txt | 8 +- tox.ini | 5 + watcher/api/controllers/v1/action_plan.py | 15 +- watcher/api/controllers/v1/audit_template.py | 15 + watcher/api/controllers/v1/service.py | 2 + watcher/api/controllers/v1/types.py | 2 +- watcher/api/controllers/v1/utils.py | 2 +- watcher/api/scheduling.py | 99 +++++++ watcher/applier/action_plan/default.py | 19 ++ watcher/applier/actions/base.py | 13 +- .../applier/actions/change_nova_service_state.py | 6 + watcher/applier/actions/migration.py | 8 + watcher/applier/actions/nop.py | 8 +- watcher/applier/actions/resize.py | 4 + watcher/applier/actions/sleep.py | 7 + watcher/applier/default.py | 3 +- watcher/applier/workflow_engine/base.py | 115 +++++++- watcher/applier/workflow_engine/default.py | 31 ++- watcher/cmd/api.py | 4 + watcher/cmd/decisionengine.py | 4 +- watcher/common/clients.py | 14 + watcher/common/exception.py | 4 + watcher/common/rpc.py | 6 +- watcher/common/service.py | 32 ++- watcher/conf/__init__.py | 2 + watcher/conf/cinder_client.py | 6 +- watcher/conf/ironic_client.py | 41 +++ watcher/conf/nova_client.py | 4 +- watcher/datasource/ceilometer.py | 79 +++--- watcher/datasource/gnocchi.py | 2 +- watcher/db/api.py | 2 +- .../sqlalchemy/alembic/versions/0f6042416884_.py | 33 +++ watcher/db/sqlalchemy/api.py | 10 +- watcher/db/sqlalchemy/job_store.py | 112 ++++++++ watcher/decision_engine/audit/base.py | 17 +- watcher/decision_engine/audit/continuous.py | 46 ++-- watcher/decision_engine/audit/oneshot.py | 1 + watcher/decision_engine/goal/efficacy/base.py | 2 +- .../decision_engine/messaging/audit_endpoint.py | 15 +- watcher/decision_engine/planner/weight.py | 4 +- watcher/decision_engine/scope/base.py | 3 +- watcher/decision_engine/scope/default.py | 57 +++- .../decision_engine/strategy/strategies/base.py | 4 +- .../strategies/vm_workload_consolidation.py | 14 +- .../strategy/strategies/workload_balance.py | 3 +- .../strategy/strategies/workload_stabilization.py | 2 +- watcher/notifications/__init__.py | 1 + watcher/notifications/service.py | 113 ++++++++ watcher/objects/action.py | 1 + watcher/objects/action_plan.py | 1 + watcher/objects/utils.py | 2 +- .../action_plan/test_default_action_handler.py | 38 ++- .../test_default_workflow_engine.py | 90 +++++- .../test_taskflow_action_container.py | 79 ++++++ .../decision_engine/audit/test_audit_handlers.py | 98 ++++--- .../messaging/test_audit_endpoint.py | 11 +- .../model/notification/test_notifications.py | 6 +- .../model/notification/test_nova_notifications.py | 4 + .../strategies/test_basic_consolidation.py | 4 +- .../notifications/test_service_notifications.py | 77 ++++++ .../scenario/test_execute_workload_balancing.py | 198 ++++++++++++++ 112 files changed, 2647 insertions(+), 351 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index c2221da..e04e524 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ jsonpatch>=1.1 # BSD -keystoneauth1>=2.18.0 # Apache-2.0 +keystoneauth1>=2.20.0 # Apache-2.0 @@ -13,4 +13,4 @@ oslo.cache>=1.5.0 # Apache-2.0 -oslo.config>=3.22.0 # Apache-2.0 -oslo.context>=2.12.0 # Apache-2.0 -oslo.db>=4.19.0 # Apache-2.0 -oslo.i18n>=2.1.0 # Apache-2.0 +oslo.config>=4.0.0 # Apache-2.0 +oslo.context>=2.14.0 # Apache-2.0 +oslo.db>=4.21.1 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 @@ -18 +18 @@ oslo.log>=3.22.0 # Apache-2.0 -oslo.messaging>=5.19.0 # Apache-2.0 +oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 @@ -32,2 +32,2 @@ python-ceilometerclient>=2.5.0 # Apache-2.0 -python-cinderclient>=2.0.1 # Apache-2.0 -python-glanceclient>=2.5.0 # Apache-2.0 +python-cinderclient>=2.1.0 # Apache-2.0 +python-glanceclient>=2.7.0 # Apache-2.0 @@ -36 +36 @@ python-monascaclient>=1.1.0 # Apache-2.0 -python-neutronclient>=5.1.0 # Apache-2.0 +python-neutronclient>=6.3.0 # Apache-2.0 @@ -38 +38,2 @@ python-novaclient>=7.1.0 # Apache-2.0 -python-openstackclient>=3.3.0 # Apache-2.0 +python-openstackclient!=3.10.0,>=3.3.0 # Apache-2.0 +python-ironicclient>=1.11.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 705a075..c703509 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -coverage>=4.0 # Apache-2.0 +coverage!=4.4,>=4.0 # Apache-2.0 @@ -17,0 +18 @@ testtools>=1.4.0 # MIT +openstackdocstheme>=1.5.0 # Apache-2.0 @@ -19 +20 @@ oslosphinx>=4.7.0 # Apache-2.0 -sphinx>=1.5.1 # BSD +sphinx!=1.6.1,>=1.5.1 # BSD @@ -21,0 +23 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0 + @@ -23 +25 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +reno!=2.3.1,>=1.8.0 # Apache-2.0