Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
dineshbhor 7aef2966f5 Ignore instance recovery for 'paused' or 'rescued' instance
If masakari receives instance failure notification it fails to
recover that instance if it is in 'paused' or 'rescued' state.
As a recovery action masakari-engine gives call to nova to stop
the instance but as nova doesn't allow this it returns 409 which
result into instance recovery failure and masakari marks that
notification status as "error".

This can be solved by maintaning consistency between the vm_state
before and after recovery but it requires to start the instance
again to gain the qemu process of an instance back alive which
might change the internal state of the instance which results into
inconsistency between instance state before and after recovery.
So as a solution this patch proposes to ignore the instance recovery
and logs a warning if the instance is in 'paused' or 'rescued' state.

Closes-Bug: #1663513
Change-Id: Id1cce45aad253527bedb58ab32f3d89637e02582
2017-04-20 12:02:12 +05:30
devstack Implement _process_unfinished_notifications periodic tasks 2017-02-07 15:40:56 +05:30
doc/source Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
etc/masakari Add missing namespaces in masakari-config-generator.conf 2016-11-18 11:53:22 +00:00
masakari Ignore instance recovery for 'paused' or 'rescued' instance 2017-04-20 12:02:12 +05:30
releasenotes Implement auto_priority and rh_priority recovery_methods 2017-04-04 17:28:35 +05:30
.coveragerc Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.gitignore Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.gitreview Added .gitreview 2016-06-23 06:57:16 +00:00
.mailmap Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.testr.conf Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
babel.cfg Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
HACKING.rst Remove log translations 2017-04-05 08:11:09 +00:00
LICENSE Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
MANIFEST.in Drop MANIFEST.in - it's not needed by pbr 2016-10-13 16:55:15 +05:30
README.rst Add db sync support for masakari 2016-08-05 11:49:20 +05:30
requirements.txt Updated from global requirements 2017-04-02 01:04:58 +00:00
setup.cfg Add TaskFlowDriver support to process notifications 2016-11-04 15:28:06 +05:30
setup.py Updated from global requirements 2017-04-02 01:04:58 +00:00
test-requirements.txt Updated from global requirements 2017-04-02 01:04:58 +00:00
tox.ini Sync tox environment with upper-constraint of requirements 2017-02-07 12:57:57 +05:30

Masakari

Virtual Machine High Availability (VMHA) service for OpenStack

Masakari provides Virtual Machine High Availability (VMHA) service for OpenStack clouds by automatically recovering the KVM-based Virtual Machine(VM)s from failure events such as VM process down, provisioning process down, and nova-compute host failure. It also provides API service for manage and control the automated rescue mechanism.

Original version of Masakari: https://github.com/ntt-sic/masakari

Tokyo Summit Session: https://www.youtube.com/watch?v=BmjNKceW_9A

Masakari is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Configure masakari-api

1. Create masakari user: $ openstack user create --password-prompt masakari (give password as masakari)

2. Add admin role to masakari user: $ openstack role add --project service --user masakari admin

3. Create new service: $ openstack service create --name masakari --description "masakari high availability" masakari

4. Create endpoint for masakari service: $ openstack endpoint create --region RegionOne masakari --publicurl http://<ip-address>:<port>/v1/%(tenant_id)s --adminurl http://<ip-address>:<port>/v1/%(tenant_id)s --internalurl http://<ip-address>:<port>/v1/%(tenant_id)s

5. Clone masakari using $ git clone https://github.com/openstack/masakari.git

6. Run setup.py from masakari $ sudo python setup.py install

  1. Create masakari directory in /etc/
  2. Copy masakari.conf, api-paste.ini and policy.json file from masakari/etc/ to /etc/masakari folder

9. To run masakari-api simply use following binary: $ masakari-api

Configure masakari database

  1. Create 'masakari' database
  2. After running setup.py for masakari '$ sudo python setup.py install'

    run 'masakari-manage' command to sync the database $ masakari-manage db sync

Features

  • TODO