We are pleased to announce the release of: masakari 6.0.0: Virtual Machine High Availability (VMHA) service for OpenStack This release is part of the rocky release series. The source is available from: https://git.openstack.org/cgit/openstack/masakari Download the package from: https://tarballs.openstack.org/masakari/ Please report issues through launchpad: https://bugs.launchpad.net/masakari For more details, please see below. 6.0.0 ^^^^^ New Features * Operator can now customize workflows to process each type of failure notifications (hosts, instance and process) as per their requirements. Added below new config section for customized recovery flow in a new conf file masakari-custom-recovery-methods.conf * [taskflow_driver_recovery_flows] Under [taskflow_driver_recovery_flows] is added below five new config options * 'instance_failure_recovery_tasks' is a dict of tasks which will recover instance failure. * 'process_failure_recovery_tasks' is a dict of tasks which will recover process failure. * 'host_auto_failure_recovery_tasks' is a dict of tasks which will recover host failure for auto recovery. * 'host_rh_failure_recovery_tasks' is a dict of tasks which will recover host failure for rh recovery on failure host. Changes in masakari 5.0.0..6.0.0 -------------------------------- c742bb4 Add masakari-custom-recovery-methods.conf in etc/masakari b69e939 Update UPPER_CONSTRAINTS_FILE for stable/rocky b893f8e Update .gitreview for stable/rocky ad3dc73 Add hooks for recovery method customization plugins cf0d30b Added devstack support for masakari-dashboard 3104c5f Fix masakari installation failure for policy.json d7592cb Register and Document policy in code 2047226 Removed unnecessary parantheses in yield statements 3e3b3b1 Add line for PyCharm IDE in gitignore file aa36bda fix tox python3 overrides 56e733f Switch to using stestr bed5d77 Avoid recovery from failure twice 4db1366 Fix Context test cases ddb0249 Fix module has no attribute 'parse_args' 5bbd78e Deploy masakari-api with uwsgi b50dc8c Generalize DB conf group copying b81b16c Make accept-language tests work with webob 1.8.x 4299b38 Enable mutable config in Masakari 1c0b3d0 Update "auth_url" 1bcde21 add lower-constraints job 4048b1f Add db purge support 2f5dc3d Completely remove mox from Masakari unittest b173adc Fix stable branch releasenotes 76b7dd0 Introspective Instance Monitoring through QEMU Guest Agent 85fcee0 Make readme more readable ea2d8f4 Ship files like other openstack projects f03b0fc Fix the docs page link a4fdab2 Use method validate_integer from oslo.utils 11d4337 Updated from global requirements 83b3941 Updated from global requirements e3deca5 Drop all qpid related explanations 634d8bc Fix for difference in tzinfo.tzname value between py27 and py35 02bf0d3 Changed default value of 'wait_period_after_power_off' 5b2c7fe Change masakari service-type from 'ha' to 'instance-ha' Diffstat (except docs and test files) ------------------------------------- .gitignore | 10 +- .gitreview | 1 + .stestr.conf | 3 + .zuul.yaml | 7 + HACKING.rst | 3 + README.rst | 72 ++++--- devstack/plugin.sh | 86 ++++++-- devstack/settings | 7 + .../masakari-custom-recovery-methods.conf.sample | 87 ++++++++ etc/masakari/masakari-custom-recovery-methods.conf | 83 ++++++++ ...-customized-recovery-flow-config-generator.conf | 4 + etc/masakari/masakari-policy-generator.conf | 3 + etc/masakari/masakari.conf | 4 +- etc/masakari/policy.json | 10 - lower-constraints.txt | 123 +++++++++++ masakari/api/openstack/extensions.py | 41 ---- masakari/api/openstack/ha/extension_info.py | 13 +- masakari/api/openstack/ha/hosts.py | 12 +- masakari/api/openstack/ha/notifications.py | 8 +- masakari/api/openstack/ha/segments.py | 12 +- masakari/cmd/api.py | 43 +++- masakari/cmd/manage.py | 43 +++- masakari/conf/engine.py | 3 +- masakari/conf/engine_driver.py | 124 ++++++++++- masakari/conf/opts.py | 12 ++ masakari/context.py | 34 +++ masakari/db/api.py | 10 + masakari/db/sqlalchemy/api.py | 101 +++++++-- masakari/engine/drivers/taskflow/base.py | 14 ++ masakari/engine/drivers/taskflow/host_failure.py | 53 ++++- .../engine/drivers/taskflow/instance_failure.py | 31 ++- masakari/engine/drivers/taskflow/no_op.py | 30 +++ .../engine/drivers/taskflow/process_failure.py | 31 ++- masakari/engine/instance_events.py | 2 + masakari/engine/manager.py | 20 ++ masakari/hacking/checks.py | 91 ++++++-- masakari/policies/__init__.py | 35 ++++ masakari/policies/base.py | 41 ++++ masakari/policies/extension_info.py | 53 +++++ masakari/policies/hosts.py | 85 ++++++++ masakari/policies/notifications.py | 65 ++++++ masakari/policies/segments.py | 85 ++++++++ masakari/policies/versions.py | 44 ++++ masakari/policy.py | 93 ++++++++- masakari/service.py | 5 +- masakari/test.py | 4 - .../unit/api/openstack/ha/test_extension_info.py | 6 +- .../unit/api/openstack/ha/test_notifications.py | 18 +- masakari/utils.py | 27 +-- .../notes/bp-mutable-config-57efdd467c01aa7b.yaml | 8 + .../notes/db-purge-support-7a33e2ea5d2a624b.yaml | 11 + .../notes/policy-in-code-8740d51624055044.yaml | 22 ++ ...very-method-customization-3438b0e26e322b88.yaml | 20 ++ .../notes/wsgi-applications-3ed7d6b89f1a5785.yaml | 8 + releasenotes/source/index.rst | 12 +- releasenotes/source/ocata.rst | 7 + releasenotes/source/pike.rst | 7 + releasenotes/source/queens.rst | 7 + requirements.txt | 8 +- setup.cfg | 29 +++ test-requirements.txt | 6 +- tox.ini | 28 ++- 82 files changed, 2581 insertions(+), 459 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 974a320..ee07e03 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ jsonschema<3.0.0,>=2.6.0 # MIT -keystoneauth1>=3.3.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 @@ -10,2 +10,3 @@ keystonemiddleware>=4.17.0 # Apache-2.0 -microversion-parse>=0.1.2 # Apache-2.0 -oslo.config>=5.1.0 # Apache-2.0 +WebOb>=1.7.1 # MIT +microversion-parse>=0.2.1 # Apache-2.0 +oslo.config>=5.2.0 # Apache-2.0 @@ -24 +24,0 @@ python-novaclient>=9.1.0 # Apache-2.0 -setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=16.0 # PSF/ZPL diff --git a/test-requirements.txt b/test-requirements.txt index 71fa822..adfcb42 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12 +12 @@ python-subunit>=1.0.0 # Apache-2.0/BSD -sphinx!=1.6.6,>=1.6.2 # BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD @@ -17,2 +17,2 @@ oslotest>=3.2.0 # Apache-2.0 -os-testr>=1.0.0 # Apache-2.0 -requests-mock>=1.1.0 # Apache-2.0 +stestr>=1.0.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0