Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
dineshbhor b50dc8c3d5 Generalize DB conf group copying
The direct access of conf.* names in _get_db_conf() method
is an inappropriate usage of oslo.config [1].   Hardcoding
these names prevents oslo.db from being able to easily
rename or deprecate options, as well as to be able to
add new database options, such as those which apply
to new performance tuning or monitoring techniques.
Retrieve values from the config object generically so
that these names remain local to oslo.db. This usage has
been supported in oslo.db enginefacade from its inception [2]
as multiple projects were already doing it for LegacyEngineFacade.

This patch is a copy of below nova change:
I22f8a19009408fb1f1587bf399e6aee3467c8bc6

[1] http://lists.openstack.org/pipermail/openstack-dev/2017-July/119846.html
[2] https://github.com/openstack/oslo.db/blob/master/oslo_db/tests/sqlalchemy/test_enginefacade.py#L2140

Change-Id: Ie1f4a8e02ff64be2125443ddcd9b95e4f42f593d
2018-05-24 19:31:44 -07:00
api-ref/source Masakari API Specifications 2017-11-27 05:29:45 +00:00
devstack Merge "Change masakari service-type from 'ha' to 'instance-ha'" 2018-05-11 07:48:14 +00:00
doc Update "auth_url" 2018-05-11 10:29:45 +07:00
etc/masakari Update "auth_url" 2018-05-11 10:29:45 +07:00
masakari Generalize DB conf group copying 2018-05-24 19:31:44 -07:00
releasenotes Merge "Fix stable branch releasenotes" 2018-04-28 02:42:32 +00:00
.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
.zuul.yaml add lower-constraints job 2018-04-20 16:23:35 -04:00
babel.cfg 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 Hacking: do not translate log messages 2017-09-25 14:34:25 +05:30
LICENSE Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
lower-constraints.txt Make accept-language tests work with webob 1.8.x 2018-05-20 21:56:28 -07:00
MANIFEST.in Drop MANIFEST.in - it's not needed by pbr 2016-10-13 16:55:15 +05:30
README.rst Merge "Make readme more readable" 2018-04-10 10:06:11 +00:00
requirements.txt Make accept-language tests work with webob 1.8.x 2018-05-20 21:56:28 -07:00
setup.cfg Ship files like other openstack projects 2018-04-05 14:17:47 +00:00
setup.py Updated from global requirements 2017-04-02 01:04:58 +00:00
test-requirements.txt Updated from global requirements 2018-03-23 20:25:03 +00:00
tox.ini add lower-constraints job 2018-04-20 16:23:35 -04:00

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