Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
jayashri bidwe de2f4d637d Allow updating host name only if it exists in nova
Presently, you can update host name with any non-existing host name.
It doesn't check whether this host exists or not in nova. This patch
fixes this issue by checking whether the host name exists in nova or
not before updating it. If it doesn't exists, it will raise 400 error.

APIImpact
BadRequest(400) is returned if host doesn't exists in nova instead of
200 during host update.

Closes-Bug: #1814656

Change-Id: Ibd113f2328deae0f1114544436631bdc434eff92
2019-02-08 10:11:46 +05:30
api-ref/source Allow updating host name only if it exists in nova 2019-02-08 10:11:46 +05:30
devstack Uninstall policy.json from openstack_dashboard correctly 2019-01-09 08:58:25 +00:00
doc Update the HTTP links to HTTPS 2018-12-08 19:15:49 +08:00
etc/masakari Add masakari-custom-recovery-methods.conf in etc/masakari 2018-08-13 08:09:42 +00:00
masakari Allow updating host name only if it exists in nova 2019-02-08 10:11:46 +05:30
releasenotes Add framework for masakari-status upgrade check 2018-11-08 13:19:06 +00:00
.coveragerc Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.gitignore Merge "Remove testrepository" 2018-12-18 06:52:22 +00:00
.gitreview Added .gitreview 2016-06-23 06:57:16 +00:00
.mailmap Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.stestr.conf Switch to using stestr 2018-07-03 12:02:08 -04:00
.zuul.yaml Add masakari-systemfault-integration-ci to .zuul.yaml 2019-02-06 04:34:20 +00:00
CONTRIBUTING.rst Optimize the link address 2017-06-08 18:37:08 +07:00
HACKING.rst Register and Document policy in code 2018-07-27 12:15:14 +05:30
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 Update README 2018-11-27 05:42:04 +00:00
babel.cfg Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
lower-constraints.txt Merge "Remove testrepository" 2018-12-18 06:52:22 +00:00
requirements.txt Add framework for masakari-status upgrade check 2018-11-08 13:19:06 +00:00
setup.cfg Change openstack-dev to openstack-discuss 2018-12-04 11:35:40 +08:00
setup.py Updated from global requirements 2017-04-02 01:04:58 +00:00
test-requirements.txt Remove testrepository 2018-07-11 18:21:09 +07:00
tox.ini Cleanup testrepository 2019-01-16 10:49:14 +09: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" instance-ha
  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
  7. Create directory /etc/masakari

  8. 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