[watcher] python-watcher 1.3.0 (pike)
We are excited to announce the release of: python-watcher 1.3.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.3.0 ^^^^^ New Features * Add action for compute node power on/off * Added cinder cluster data model Changes in python-watcher 1.2.0..1.3.0 -------------------------------------- 5817f68 Fix gate-watcher-python27-ubuntu-xenial FAILURE 8fd5727 Remove all sphinx warnings 1d197e5 Update the documention for doc migration b33337b Replace voluptuous with JSONSchema in BaseAction d0b9b6c Update URLs in documents according to document migration 3cd847e Updated from global requirements 8e787d0 Remove testenv for install-guide 8167eec Fix devstack plugin 6731851 Enable migration to rely on nova-scheduler 8521608 Update default ironic endpoint type e08a0e9 Updated from global requirements 844577e remove useless logging 0b44492 New cron type for audit interval b146e29 Fix dbmanage upgrade and downgrade 0cabd5b Update weekly meetings time in docs 7340dec Add title to administrator guide 5283871 Abort operation for live migration 916fd73 [Doc] Add gnocchi to system architecture diagram 63c1aab bug fix: Can't get sample through CeilometerHelper 5b349b4 Replace voluptuous with JSONSchema to validate change_node_power_state b0d03ae move doc/source/webapi content to doc/source/api 489356d Cinder model integration db4339c Update Documentation link in README c7ec186 Adapt watcher documentation for new standards 12bdfca Replace default neutron endpoint type a842bc1 switch to openstackdocs theme. 5eb1d91 Replace default glance endpoint type 87b95bb Fix test_list_with_limit failed 3574dba Replace the usage of 'manager' with 'os_primary' 51f17f1 Updated from global requirements 129de26 avoid repeated actions in the solution 8c5f363 Update .gitignore abc0198 Pass environment variables of proxy to tox 227a9e9 Enable some off-by-default checks c1d3f80 Updated from global requirements 59649f6 Fix get_action_plan_list filter error 0454040 node.status for vm_workload_consolidation 606a340 Noisy Neighbor Strategy 35fdbbe Updated from global requirements 2db279e fix Keyerror in test_nova_cdmc 1188d42 Add action for compute node power on/off 1451d9c Replace voluptuous with JSONSchema to validate migration action 6d739ae Updated from global requirements f2751b4 Replace voluptuous with JSONSchema to validate change_nova_service_state e2bf826 Replace voluptuous with JSONSchema to validate resize action d76b5d2 Replace voluptuous with JSONSchema to validate sleep action 69730d8 Replace voluptuous with JSONSchema to validate nop action 17aa112 Remove log translations and hacking d0f5a9f Remove deprecated oslo_messaging.get_transport 65c63a9 fix multinode tempest test failure 27c56a1 fix clod_migrate problem Diffstat (except docs and test files) ------------------------------------- .gitignore | 9 +- README.rst | 2 +- devstack/lib/watcher | 2 +- .../contributor/plugin/scoring-engine-plugin.rst | 212 +++++++ .../strategies/basic-server-consolidation.rst | 2 +- .../strategies/vm_workload_consolidation.rst | 2 +- etc/watcher/oslo-config-generator/watcher.conf | 16 + etc/watcher/watcher-config-generator.conf | 16 - 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/add-power-on-off-a77673d482568a8b.yaml | 3 + .../cinder-model-integration-baa394a72a0a33bf.yaml | 4 + releasenotes/source/conf.py | 4 +- requirements.txt | 18 +- setup.cfg | 8 +- test-requirements.txt | 5 +- tox.ini | 9 +- watcher/_i18n.py | 10 - watcher/api/controllers/v1/audit.py | 15 +- watcher/api/controllers/v1/audit_template.py | 6 +- watcher/api/controllers/v1/types.py | 22 + watcher/api/scheduling.py | 6 +- watcher/applier/actions/base.py | 16 +- watcher/applier/actions/change_node_power_state.py | 118 ++++ .../applier/actions/change_nova_service_state.py | 30 +- watcher/applier/actions/migration.py | 89 ++- watcher/applier/actions/nop.py | 17 +- watcher/applier/actions/resize.py | 35 +- watcher/applier/actions/sleep.py | 18 +- watcher/applier/workflow_engine/base.py | 12 +- watcher/applier/workflow_engine/default.py | 10 +- watcher/cmd/dbmanage.py | 4 +- watcher/common/cinder_helper.py | 79 +++ watcher/common/context.py | 1 + watcher/common/exception.py | 24 + watcher/common/nova_helper.py | 130 ++++- watcher/common/rpc.py | 7 +- watcher/common/service.py | 2 +- watcher/common/utils.py | 17 +- watcher/conf/decision_engine.py | 2 +- watcher/conf/glance_client.py | 4 +- watcher/conf/ironic_client.py | 4 +- watcher/conf/neutron_client.py | 4 +- watcher/datasource/ceilometer.py | 12 +- watcher/db/sqlalchemy/alembic/README.rst | 4 +- .../sqlalchemy/alembic/versions/0f6042416884_.py | 33 -- .../versions/0f6042416884_add_apscheduler_jobs.py | 33 ++ .../d098df6021e2_cron_support_for_audit.py | 26 + watcher/db/sqlalchemy/api.py | 2 +- watcher/db/sqlalchemy/models.py | 3 +- watcher/decision_engine/audit/continuous.py | 65 ++- watcher/decision_engine/goal/__init__.py | 4 +- watcher/decision_engine/goal/goals.py | 26 + watcher/decision_engine/model/collector/cinder.py | 209 +++++++ watcher/decision_engine/model/element/__init__.py | 14 +- watcher/decision_engine/model/element/node.py | 33 ++ .../model/element/storage_resource.py | 33 ++ watcher/decision_engine/model/element/volume.py | 56 ++ watcher/decision_engine/model/model_root.py | 297 ++++++++++ .../decision_engine/model/notification/cinder.py | 387 +++++++++++++ watcher/decision_engine/planner/weight.py | 19 +- .../planner/workload_stabilization.py | 4 +- watcher/decision_engine/solution/default.py | 10 +- .../strategy/strategies/__init__.py | 4 +- .../decision_engine/strategy/strategies/base.py | 30 + .../strategy/strategies/noisy_neighbor.py | 304 +++++++++++ .../strategies/vm_workload_consolidation.py | 50 +- .../strategy/strategies/workload_stabilization.py | 18 +- watcher/hacking/checks.py | 20 - watcher/notifications/audit.py | 33 +- watcher/objects/audit.py | 10 +- .../actions/test_change_node_power_state.py | 134 +++++ .../actions/test_change_nova_service_state.py | 27 +- .../test_default_workflow_engine.py | 1 - .../decision_engine/audit/test_audit_handlers.py | 58 +- .../decision_engine/cluster/test_nova_cdmc.py | 1 + .../decision_engine/model/ceilometer_metrics.py | 35 ++ .../model/data/scenario_7_with_2_nodes.xml | 8 +- .../model/data/storage_scenario_1.xml | 23 + .../decision_engine/model/faker_cluster_state.py | 120 ++++ .../model/notification/data/capacity.json | 14 + .../data/scenario_1_bootable-volume-create.json | 17 + .../notification/data/scenario_1_capacity.json | 14 + .../data/scenario_1_capacity_node_notfound.json | 14 + .../data/scenario_1_capacity_pool_notfound.json | 14 + .../data/scenario_1_error-volume-create.json | 16 + .../data/scenario_1_volume-attach.json | 16 + .../data/scenario_1_volume-create.json | 16 + .../scenario_1_volume-create_pool_notfound.json | 16 + .../data/scenario_1_volume-delete.json | 16 + .../data/scenario_1_volume-detach.json | 16 + .../data/scenario_1_volume-resize.json | 16 + .../data/scenario_1_volume-update.json | 16 + .../model/notification/fake_managers.py | 18 + .../notification/test_cinder_notifications.py | 607 +++++++++++++++++++++ .../decision_engine/planner/test_weight_planner.py | 16 +- .../strategy/strategies/test_noisy_neighbor.py | 179 ++++++ .../notifications/test_action_plan_notification.py | 20 +- watcher_tempest_plugin/README.rst | 10 +- 200 files changed, 8524 insertions(+), 4786 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e04e524..7a18c2f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8,2 @@ jsonpatch>=1.1 # BSD -keystoneauth1>=2.20.0 # Apache-2.0 +keystoneauth1>=3.0.1 # Apache-2.0 +jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT @@ -10,0 +12 @@ lxml!=3.7.0,>=2.3 # BSD +croniter>=0.3.4 # MIT License @@ -13 +15 @@ oslo.cache>=1.5.0 # Apache-2.0 -oslo.config>=4.0.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 @@ -15 +17 @@ oslo.context>=2.14.0 # Apache-2.0 -oslo.db>=4.21.1 # Apache-2.0 +oslo.db>=4.24.0 # Apache-2.0 @@ -19 +21 @@ oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 -oslo.policy>=1.17.0 # Apache-2.0 +oslo.policy>=1.23.0 # Apache-2.0 @@ -21 +23 @@ oslo.reports>=0.6.0 # Apache-2.0 -oslo.serialization>=1.10.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 @@ -32 +34 @@ python-ceilometerclient>=2.5.0 # Apache-2.0 -python-cinderclient>=2.1.0 # Apache-2.0 +python-cinderclient>=3.0.0 # Apache-2.0 @@ -37 +39 @@ python-neutronclient>=6.3.0 # Apache-2.0 -python-novaclient>=7.1.0 # Apache-2.0 +python-novaclient>=9.0.0 # Apache-2.0 @@ -39 +41 @@ python-openstackclient!=3.10.0,>=3.3.0 # Apache-2.0 -python-ironicclient>=1.11.0 # Apache-2.0 +python-ironicclient>=1.14.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index c703509..84a7d89 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -18,3 +18,2 @@ testtools>=1.4.0 # MIT -openstackdocstheme>=1.5.0 # Apache-2.0 -oslosphinx>=4.7.0 # Apache-2.0 -sphinx!=1.6.1,>=1.5.1 # BSD +openstackdocstheme>=1.11.0 # Apache-2.0 +sphinx>=1.6.2 # BSD
participants (1)
-
no-reply@openstack.org