We are amped to announce the release of: senlin 6.0.0: OpenStack Clustering This release is part of the rocky release series. Download the package from: https://tarballs.openstack.org/senlin/ Please report issues through launchpad: https://bugs.launchpad.net/senlin-tempest-plugin For more details, please see below. Changes in senlin 5.0.0.0b3..6.0.0 ---------------------------------- 5351bc7 Enable mutable config in senlin 412ec0b Remove TODO doc migrate record 1407515 Rocky milestone 3 release notes 7916b43 Add nova profile support for vm snapshot and restore operation 1592010 Trivial code cleanups d7162b5 Update cluster_policy_get_all to no longer query uneeded tables 303835a Fix unit test to properly handle unordered dicts 4e0b000 Add scheduler_thread_pool_size configuration b17dc7d Optimise the process of verify cf0173f Remove testrepository ae02a6e Treat sphinx warnings as errors 452d71c Fix doc format errors 7a6011d Add complete lifecycle to API doc 8d6d508 Fix stop node before delete error handling c2734a4 Add cluster.stop_node_before_delete documentation 7b94545 Add space to error messages e7dae6c Add cluster option cluster.stop_node_before_delete 446e713 modify grammatical errors 2559ff7 Add entity refresh to cluster action execute wrapper b02acea Add config option to user documentation 0bdffc3 Add locking logic to database update/delete transactions 309fefa Add node poll url detection type to health policy 1165d4e Fix broken SDK exception test 2183eb1 add a link to release notes in README file c4954c5 Remove senlin api doc metadata field 4f330e8 fix tox python3 overrides 4abe404 Fixing openstack-tox-cover 2bb47c1 Add retry logic to post_lifecycle_hook_message b7eeec7 Enable Python hash seed randomization in tests 013a759 Change doc testing api/function/integration test 125575e Rocky milestone 2 release note aed18d4 Fix doc autoscaling_ceilometer aodh alarm create error 1b3ac2c Add nova profile support for vm migrate operation decf54d Add docker profile support update operation 1c66322 Switch to using stestr from ostestr df95c5c Add retry_on_deadlock to all REST actions 3cdffd6 Simple os profile update check "obj.physical_id" 9c7a43d Fix doc HACKING path error 4369897 Add docker profile start operation 89c5321 Fix node 'op' operation return vaule miss 'action' 913e21b Fix container handle reboot driver call error 77053a1 Fix typo 9606ff9 Add nova profile support for vm rescue and unrescue operation 41f00dd Kubernetes: Add cluster delete dependents attribute 42c1d18 Simplify profile code fca63bd Add retry_on_deadlock to policy operations 6c4b55f Update pypi url to new url 4aed9e9 Replace Chinese punctuation with English punctuation 112fc57 Add nova profile support for vm pause and unpause operation 3387bfb Modify the README doc Developers location. c755272 Add nova profile support for vm lock and unlock operation 9865d71 Add nova profile support vm start and stop operation ed061be Add profile support suspend and resume operation 3224233 Update auth_url in install docs 282f4d1 Fix object node role fields call error 2d26ef7 revist lifecycle_hook logic 4d298c6 Do not for force-reinstall when upgrading packages 0d2db0c Make webhook API compatible with Aodh 22982bc Make db retry parameters into a config option b1b5460 separate '_delete_nodes' to different functionalities 5ed450a Cleaned up engine/scheduler and improved behavior cf6cccf Skip lifecycle completion for invalid nodes 0a2747e Fix locking methods to retry on deadlock 5a92b60 Update node recover operation b190fa4 Kubernetes: Add network operation exception capture cab444d Release notes for Rocky-1 27c948a uncap eventlet 87b298d Add deadlock retry decorator to gc_by_engine ba9bd30 Catch exceptions when updating service f2384d6 Update auth_uri option to www_authenticate_uri 98d8cf3 Cleaned up logging 1d98beb Fix cluster node join or leave faild error a91cf43 Use six module format ex message 6d3712f Add nova profile use block_device_mapping_v2 volume check fbc788c Fix webhook trigger V query param to be required aabb647 Kubernetes: Add profile support block_device_mapping_v2 8ee553b Kubernetes: Fix cluster database get return error d68f097 Fix kube token create with string join error b3d29f5 Use defined name instead self.NAME parameter a456b54 Add nova profile use block_device_mapping_v2 image check f1feb2e Move openstackdocstheme to extensions in api-ref 340b3aa fix a typo 1317e6c Fix nova profile get old image attribute 7a87fe4 Fix invocation to get_version from microversion-parse dfef55e Updated from global requirements 00641ad Rename python-openstacksdk to openstacksdk 6b3f9b7 update receivers description 84ee579 add lower-constraints job d3a4871 Fix hints update appear 'NoneType' object has no attribute 'update' 8b429c7 Fixing documentation for multiple event_dispatchers 3f1b2b6 Use decimal type for start_time and end_time 9b99d9b Update param description error 7fe1c3a Add default configuration files to data_files e49bad9 Updated from global requirements e7c1677 Updated from global requirements 46dd638 Examples file: lb_policy.yaml add id and loadbance configure 28045a9 Follow the new PTI for document build 7b8e012 Updated from global requirements d2b84c7 Imported Translations from Zanata f96f359 Update handle rebuild get image use _get_image_id function 66b4ead Add NOTIFIER message topic can be specified by configuration file. 462a30d Updated from global requirements 69ce4a0 Update autoscaling_ceilometer.rst document error accdfce Imported Translations from Zanata 36c300b Fix documents title error symbol c31f2c2 Fix documents title format error de940f0 Fix autoscaling.rst doc command error 2519ab9 Add senlin-manager.rst service and event_purge command support 836e02d Update cluster event command example 91c71e0 Update cluster action show command example 3cf3308 Update cluster policy binding list command example 7d810d4 Update url in HACKING.rst 581241b Fix py35 API test flake a3e9e1c Update cluster receiver create command example 8dbebdf Update cluster policy type show command example 2a39984 Update cluster policy type list command example 1232ce3 Update cluster create command example 6d99c13 Get image id from multiple places f45cad9 Update senlin documentation url 1d5469f Update cluster node create command example 3b08d38 Modify Descripition c1b3fa8 Change module parameter use consts configure d1576bf Fix unit tests to make py36 happy 8a28882 Updated from global requirements 274ef6c Release note for cluster lock fix ae44dc5 Updated from global requirements 7519b6f Change comments of parameter in function. 824cdc4 Change cluster attach policy store 'enabled' value 49c5113 Delete unused or redefined variable e1dcaba Attempt to fix cluster lock contention 6301bb7 Fix api typo error, change ReST to REST. c0fc5ac Remove the api and functional tests. fc280d1 Fix README document Blueprints url error. fe24850 Last release note for Queens 600fbc4 Turn py27 API gate on 50af718 Update mysql connection fe5b558 remove no use define and spell error d8cd8b0 Fix grammar error 85dc637 remove cluster_action module no use define bb2fe69 fix base module describe typo error 6f2d890 Fixes horizon can't open problem 08e710b [trivial] fix typo in senlin/profiles/os/nova/server.py 4f63bb5 [trivial] remove additional whitespace in error message a4de2b1 Fix lb and delete policy not support 1.0 version da1d380 Add scaling policy version support message 85513f5 Replace Chiness punctuation with English punctuation b887ce4 Fix a https url issue f3abe17 Modify Descripition f031c55 Update reno for stable/queens 7f83d79 Fix lb policy for 1.1 version support 804c5ea Enable more extensions in pep8 757bde1 Further removal of localization to please py35 72026cc Fix user document bindings.rst policy attach specify status fbca70e Release notes for Queens RC1 5841f9f Misc improvements ea34a98 fix does not have param and missing docstring 65838e7 Fix cluster bindind policy update type error 79be4c1 Fix spelling error 3437ee3 Del Parameter value is not used 2d6f105 Fix cluster health check faild fe1dd4c Fix node creates the specified cluster error 991c74d Updated from global requirements ddc45bc Release note for webhook trigger fix 957d77a Update sdk connection, tests and isoformat 3ccaf65 User documents add cluster and node check and recover opertion ee63c9f Remove _static from releasenotes 6c198c5 Release note for Queens RC1 9763e30 Decouple cloud backends c1934ef Updated from global requirements 3dd9f3e Lifecycle hook implementation 4ed6832 use . instead of source. 270f5e3 Move openstack_test driver suite 8a3d8ad Zuul: Remove project name 22da901 Drop py34 target in tox.ini 53aeca7 Modify the descriptions in some files 3ee675b Attempt to fix integration tests f9e9c89 WIP - Simplify zuul job config 35cd42c Fix the bug that can not create a loadbalancer policy with exists loadbalancer Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 - .stestr.conf | 3 + .testr.conf | 6 - .zuul.yaml | 13 +- FEATURES.rst | 4 +- HACKING.rst | 5 +- README.rst | 12 +- TODO.rst | 3 +- api-ref/source/clusters.inc | 58 + api-ref/source/conf.py | 10 +- api-ref/source/parameters.yaml | 13 +- api-ref/source/policies.inc | 1 - .../cluster-complete-lifecycle-request.json | 5 + api-ref/source/webhooks.inc | 7 +- contrib/kubernetes/kube/base.py | 133 +- contrib/kubernetes/kube/master.py | 78 +- contrib/kubernetes/kube/worker.py | 114 +- contrib/vdu/setup.cfg | 1 - contrib/vdu/vdu/server.py | 5 +- devstack/lib/senlin | 8 +- devstack/plugin.sh | 2 +- .../contributor/policies/load_balance_v1.rst | 2 +- etc/senlin/api-paste.ini | 1 + .../policies/deletion_policy_lifecycle_hook.yaml | 14 + examples/policies/health_policy_event.yaml | 2 +- examples/policies/health_policy_poll_url.yaml | 18 + examples/policies/lb_policy.yaml | 9 + examples/profiles/README.rst | 4 +- lower-constraints.txt | 129 ++ .../legacy/senlin-dsvm-tempest-py27-api/post.yaml | 13 - .../legacy/senlin-dsvm-tempest-py27-api/run.yaml | 42 +- .../senlin-dsvm-tempest-py27-functional/post.yaml | 13 - .../senlin-dsvm-tempest-py27-functional/run.yaml | 41 +- .../senlin-dsvm-tempest-py27-integration/post.yaml | 13 - .../senlin-dsvm-tempest-py27-integration/run.yaml | 54 +- .../legacy/senlin-dsvm-tempest-py35-api/post.yaml | 13 - .../legacy/senlin-dsvm-tempest-py35-api/run.yaml | 44 +- .../senlin-dsvm-tempest-py35-functional/post.yaml | 13 - .../senlin-dsvm-tempest-py35-functional/run.yaml | 40 +- .../senlin-dsvm-tempest-py35-integration/post.yaml | 13 - .../senlin-dsvm-tempest-py35-integration/run.yaml | 54 +- releasenotes/notes/bdmv2-fix-b9ff742cdc282087.yaml | 4 + .../cluster-action-refresh-9eeb60f1f2c1d0abr.yaml | 5 + .../notes/cluster-lock-e283fb9bf1002bca.yaml | 3 + ...heduler-thread-pool-size-de608624a6cb4b43r.yaml | 4 + ...g-stop-node-before-delete-4ab08e61b40e4474.yaml | 4 + .../notes/db-locking-logic-9c97b04ce8c52989.yaml | 4 + .../notes/db-retries-da4a0d9d83ad56bb.yaml | 5 + .../notes/doc-fixes-0783e8120b61299br.yaml | 3 + releasenotes/notes/doc-fixes-685c64d1ef509041.yaml | 4 + .../notes/docker-reboot-999ec624186864e3.yaml | 4 + .../notes/docker-start-c850c256c6149f4f.yaml | 4 + .../notes/docker-update-1b465241ca78873c.yaml | 4 + .../notes/event-notification-eda06b43ce17a081.yaml | 6 + .../fix-aodh-integration-41e69276158ad233.yaml | 7 + .../fix-delete-node-error-31575d62bc9375ec.yaml | 3 + .../notes/fix-health-check-5d77795885676661.yaml | 3 + .../fix-health-policy-bind-9b6ed0e51939eac3.yaml | 3 + ...-openstacksdk -exception-b762e649bfab4b31r.yaml | 7 + .../fix-policy-type-version-939a1fb4e84908f9.yaml | 6 + .../notes/fix-tox-cover-9fc01b5e0594aa19r.yaml | 4 + .../notes/health-poll-url-236392171bb28b3f.yaml | 8 + ...ealth-poll-url-detection-c6f10065a076510dr.yaml | 5 + .../notes/kube-token-gen-673ea5c0d26d6872.yaml | 3 + .../kubernetes-dependents-1d7a70aa43ee8aa4.yaml | 5 + .../notes/lifecycle-hook-19a9bf85b534107d.yaml | 5 + .../notes/lock-retry-ab31681e74997cf9.yaml | 6 + .../notes/message-topic-7c642cff317f2bc7.yaml | 4 + .../notes/new-config-options-a963e5841d35ef03.yaml | 14 + .../notes/new-node-create-08fe53674b0baab2.yaml | 4 + .../notes/node-join-leave-8b00f64cf55b675a.yaml | 3 + .../node-op-return-value-73720cf91b6e2672.yaml | 4 + .../notes/node-recover-ace5311e23030f20.yaml | 8 + .../notes/node-role-fix-211d1536dd66066d.yaml | 4 + .../notification-retry-logic-cb9933b4826c9d45.yaml | 4 + .../notes/nova-get-image-726aa195c17a294f.yaml | 4 + .../notes/policy-retry-251cf15f06368ad4.yaml | 5 + .../notes/schedule-improved-6996965f07450b35.yaml | 6 + ...cheduler-thread-pool-size-40905866197ef8bd.yaml | 6 + .../notes/service-update-2e96dd86295ddfa0.yaml | 4 + ...skip-lifecycle-completion-b528464e11071666.yaml | 6 + .../notes/timestamp-datatype-86c0e47debffa919.yaml | 4 + .../notes/trigger-version-af674cfe0f4693cd.yaml | 4 + .../notes/vm-lock-unlock-da4c3095575c9c94.yaml | 4 + .../notes/vm-migrate-6c6adee51ee8ed24.yaml | 4 + .../notes/vm-pause-unpause-3e414ce4d86c7ed3.yaml | 4 + .../notes/vm-rescue-unrescue-f56047419c50e957.yaml | 4 + .../notes/vm-start-stop-e590e25a04fff1e0.yaml | 4 + .../notes/vm-suspend-resume-a4398520255e6bbd.yaml | 4 + .../notes/webhook-fix-792322c0b7f374aa.yaml | 4 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/conf.py | 2 +- releasenotes/source/index.rst | 7 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 63 - .../locale/zh_CN/LC_MESSAGES/releasenotes.po | 8 +- releasenotes/source/mitaka.rst | 6 +- releasenotes/source/newton.rst | 6 +- releasenotes/source/ocata.rst | 6 +- releasenotes/source/pike.rst | 6 +- releasenotes/source/queens.rst | 6 + releasenotes/source/unreleased.rst | 6 +- requirements.txt | 16 +- senlin/api/common/wsgi.py | 11 +- senlin/api/middleware/version_negotiation.py | 11 +- senlin/api/middleware/webhook.py | 20 +- senlin/api/openstack/history.rst | 13 + senlin/api/openstack/v1/cluster_policies.py | 2 +- senlin/api/openstack/v1/clusters.py | 17 +- senlin/api/openstack/v1/events.py | 2 +- senlin/api/openstack/v1/nodes.py | 3 +- senlin/api/openstack/v1/policies.py | 2 +- senlin/api/openstack/v1/policy_types.py | 2 +- senlin/api/openstack/v1/profile_types.py | 2 +- senlin/api/openstack/v1/profiles.py | 2 +- senlin/api/openstack/v1/receivers.py | 2 +- senlin/api/openstack/v1/router.py | 2 +- senlin/api/openstack/v1/version.py | 2 +- senlin/api/openstack/v1/webhooks.py | 15 +- senlin/cmd/engine.py | 3 +- senlin/cmd/manage.py | 8 +- senlin/common/config.py | 36 + senlin/common/constraints.py | 4 +- senlin/common/consts.py | 25 +- senlin/common/context.py | 6 +- senlin/common/exception.py | 6 +- senlin/common/messaging.py | 2 +- senlin/common/scaleutils.py | 5 +- senlin/common/schema.py | 13 +- senlin/common/utils.py | 12 +- senlin/db/api.py | 14 +- senlin/db/sqlalchemy/api.py | 270 ++- .../versions/013_action_starttime_endtime_type.py | 22 + senlin/db/sqlalchemy/models.py | 7 +- senlin/drivers/base.py | 5 +- senlin/drivers/container/docker_v1.py | 15 +- senlin/drivers/openstack/__init__.py | 34 - senlin/drivers/openstack/ceilometer_v2.py | 50 - senlin/drivers/openstack/cinder_v2.py | 50 - senlin/drivers/openstack/glance_v2.py | 35 - senlin/drivers/openstack/heat_v1.py | 91 - senlin/drivers/openstack/keystone_v3.py | 154 -- senlin/drivers/openstack/lbaas.py | 358 ---- senlin/drivers/openstack/mistral_v2.py | 71 - senlin/drivers/openstack/neutron_v2.py | 183 -- senlin/drivers/openstack/nova_v2.py | 280 --- senlin/drivers/openstack/octavia_v2.py | 168 -- senlin/drivers/openstack/sdk.py | 140 -- senlin/drivers/openstack/zaqar_v2.py | 56 - senlin/drivers/os/__init__.py | 32 + senlin/drivers/os/cinder_v2.py | 50 + senlin/drivers/os/glance_v2.py | 35 + senlin/drivers/os/heat_v1.py | 91 + senlin/drivers/os/keystone_v3.py | 154 ++ senlin/drivers/os/lbaas.py | 350 ++++ senlin/drivers/os/mistral_v2.py | 72 + senlin/drivers/os/neutron_v2.py | 183 ++ senlin/drivers/os/nova_v2.py | 286 +++ senlin/drivers/os/octavia_v2.py | 168 ++ senlin/drivers/os/zaqar_v2.py | 70 + senlin/drivers/os_test/README.rst | 11 + senlin/drivers/os_test/__init__.py | 33 + senlin/drivers/os_test/cinder_v2.py | 100 + senlin/drivers/os_test/heat_v1.py | 85 + senlin/drivers/os_test/keystone_v3.py | 154 ++ senlin/drivers/os_test/lbaas.py | 38 + senlin/drivers/os_test/mistral_v2.py | 42 + senlin/drivers/os_test/neutron_v2.py | 64 + senlin/drivers/os_test/nova_v2.py | 255 +++ senlin/drivers/os_test/octavia_v2.py | 219 +++ senlin/drivers/os_test/zaqar_v2.py | 74 + senlin/drivers/sdk.py | 154 ++ senlin/engine/actions/base.py | 57 +- senlin/engine/actions/cluster_action.py | 205 +- senlin/engine/actions/node_action.py | 35 +- senlin/engine/cluster.py | 29 +- senlin/engine/cluster_policy.py | 8 +- senlin/engine/dispatcher.py | 8 +- senlin/engine/environment.py | 12 +- senlin/engine/event.py | 7 +- senlin/engine/health_manager.py | 155 +- senlin/engine/node.py | 54 +- senlin/engine/notifications/message.py | 106 + senlin/engine/receivers/base.py | 4 +- senlin/engine/receivers/message.py | 49 +- senlin/engine/receivers/webhook.py | 13 +- senlin/engine/registry.py | 35 +- senlin/engine/scheduler.py | 107 +- senlin/engine/senlin_lock.py | 3 +- senlin/engine/service.py | 82 +- senlin/locale/de/LC_MESSAGES/senlin.po | 2018 ++++++++++++++++++++ senlin/objects/action.py | 4 + senlin/objects/base.py | 4 +- senlin/objects/health_registry.py | 3 +- senlin/objects/requests/clusters.py | 9 + senlin/objects/requests/nodes.py | 4 +- senlin/objects/requests/webhooks.py | 9 + senlin/policies/affinity_policy.py | 14 +- senlin/policies/base.py | 18 +- senlin/policies/batch_policy.py | 3 - senlin/policies/deletion_policy.py | 59 +- senlin/policies/health_policy.py | 117 +- senlin/policies/lb_policy.py | 18 +- senlin/policies/region_placement.py | 2 +- senlin/policies/scaling_policy.py | 5 + senlin/policies/zone_placement.py | 2 +- senlin/profiles/base.py | 35 +- senlin/profiles/container/docker.py | 71 +- senlin/profiles/os/heat/stack.py | 9 +- senlin/profiles/os/nova/server.py | 326 +++- senlin/rpc/client.py | 4 +- .../unit/api/openstack/v1/test_cluster_policies.py | 2 +- .../unit/engine/actions/test_cluster_action.py | 74 +- .../unit/engine/notifications/test_message.py | 149 ++ .../unit/profiles/test_nova_server_validate.py | 100 + setup.cfg | 10 +- test-requirements.txt | 9 +- tools/cover.sh | 14 +- tox.ini | 58 +- 314 files changed, 11491 insertions(+), 5076 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index bec06e9..c1c207a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ docker>=2.4.2 # Apache-2.0 -eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT +eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT @@ -11 +11 @@ jsonschema<3.0.0,>=2.6.0 # MIT -keystoneauth1>=3.3.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 @@ -13,3 +13,3 @@ keystonemiddleware>=4.17.0 # Apache-2.0 -microversion-parse>=0.1.2 # Apache-2.0 -openstacksdk>=0.9.19 # Apache-2.0 -oslo.config>=5.1.0 # Apache-2.0 +microversion-parse>=0.2.1 # Apache-2.0 +openstacksdk>=0.11.2 # Apache-2.0 +oslo.config>=5.2.0 # Apache-2.0 @@ -26 +26 @@ oslo.utils>=3.33.0 # Apache-2.0 -oslo.versionedobjects>=1.28.0 # Apache-2.0 +oslo.versionedobjects>=1.31.2 # Apache-2.0 @@ -30,2 +30 @@ pytz>=2013.6 # MIT -PyYAML>=3.10 # MIT -qpid-python>=0.26;python_version=='2.7' # Apache-2.0 +PyYAML>=3.12 # MIT @@ -37,0 +37 @@ stevedore>=1.20.0 # Apache-2.0 +tenacity>=4.9.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index bbbeae3..90b12c3 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -11 +11 @@ oslotest>=3.2.0 # Apache-2.0 -os-testr>=1.0.0 # Apache-2.0 +stestr>=2.0.0 # Apache-2.0 @@ -14 +13,0 @@ tempest>=17.1.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD @@ -18,6 +16,0 @@ testtools>=2.2.0 # MIT -# Documentation -openstackdocstheme>=1.18.1 # Apache-2.0 -os-api-ref>=1.4.0 # Apache-2.0 -sphinx!=1.6.6,>=1.6.2 # BSD -reno>=2.5.0 # Apache-2.0 -
participants (1)
-
no-reply@openstack.org