Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
Dinesh Bhor a1bbcd4d98 Fix 'host delete' delete's host of another segment
Currently masakari delete's the host which doesn't belong to the
segment requested in the 'host delete' API's request URL because
host was not getting filtered on the basis of failover_segment_id.

Filtered the host based on 'failover_segment_id'. Added a new
exception 'HostNotFoundUnderFailoverSegment' which will be raised
from db API 'host_get_by_uuid' if the host is not found under the
requested failover_segment. This exception is not caught at API
controller layer as it is a subclass of 'HostNotFound' which is
already caught in controller.

Closes-Bug: #1697629
Change-Id: I3d3e8cffa2f8ea443ccd13b1db61fda55bc07a0d
2017-08-01 12:28:56 +05:30
devstack Fix identity_admin 2017-06-06 17:24:13 +00:00
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 Fix 'host delete' delete's host of another segment 2017-08-01 12:28:56 +05:30
releasenotes conf: Deprecate 'masakari_topic' RPC options 2017-07-27 09:59:52 +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
CONTRIBUTING.rst Optimize the link address 2017-06-08 18:37:08 +07:00
HACKING.rst Optimize the link address 2017-06-08 18:37:08 +07: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 Remove 'on_shared_storage' parameter from nova evacuate 2017-07-21 05:44:49 +00:00
babel.cfg Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
requirements.txt Updated from global requirements 2017-06-20 11:45:10 +00:00
setup.cfg Remove support for py34 2017-07-11 15:33:14 +07:00
setup.py Updated from global requirements 2017-04-02 01:04:58 +00:00
test-requirements.txt Use os-testr instead of testr 2017-07-05 17:37:52 +05:30
tox.ini Remove support for py34 2017-07-11 15:33:14 +07:00

README.rst

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.

NOTE: Use masakari only if instance path is configured on shared storage system i.e, 'instances_path' config option of nova has a path of shared directory otherwise instance data will be lost after the evacuation of instance from failed host if, * instance is booted from image * flavor using ephemeral disks is used

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