Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
Mitya_Eremeev 0837d7787c Handle host notification without host status
If an user sends host notification without host status:
openstack notification create COMPUTE_HOST <host> <date> '{"event": "STOPPED"}'
logging registers silly error like object None has not method 'upper' and
notification gets status 'running', host is set in maintenance status.
It's impossible to set manually host status to non-maintanence
until there are host-related running notifications.
Running notifications are expired in 24 hours by default.
The patch makes engine to set 'ignore' status for such
notifications.

Closes-Bug: 1960619
Change-Id: Id873b3300b6de49082805654c85414a8868dd925
2022-10-12 15:23:22 +00:00
api-ref/source Fix notification status in notification.inc 2021-06-11 09:27:35 +08:00
devstack Fix auth_url setting for devstack 2021-10-20 07:27:33 +02:00
doc DLM to fix host notification race. 2022-07-19 09:31:47 +00:00
etc/masakari Merge "Remove a sample file of masakari.conf" 2021-08-16 09:15:06 +00:00
masakari Handle host notification without host status 2022-10-12 15:23:22 +00:00
playbooks/devstack [CI] Let Masakari jobs be used from other projects 2021-08-28 11:54:23 +00:00
releasenotes Handle host notification without host status 2022-10-12 15:23:22 +00:00
roles/devstack-config/tasks Fix files to pass linting 2020-09-11 17:24:16 +00:00
tools Enable database migration unit tests 2021-03-10 18:11:01 +00:00
.coveragerc Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
.gitignore Reorganize masakari documentation 2019-10-11 01:32:08 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:36:34 +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
.yamllint Use some better linting 2020-09-11 17:24:25 +00:00
.zuul.yaml [CI] Move queue setting to project level 2022-09-19 14:12:10 +00:00
CONTRIBUTING.rst [community goal] Update contributor documentation 2021-05-31 20:33:51 +00: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 Merge "Simplify endpoints created by devstack plugin" 2021-02-27 20:11:57 +00:00
bindep.txt Replace python-dev with python3-dev in bindep 2022-07-19 09:28:43 +00:00
requirements.txt DLM to fix host notification race. 2022-07-19 09:31:47 +00:00
setup.cfg Update python testing as per zed cycle testing runtime 2022-05-13 15:55:34 +08:00
setup.py Cleanup py27 support 2022-08-13 08:52:35 +08:00
test-requirements.txt Use some better linting 2020-09-11 17:24:25 +00:00
tox.ini [CI] Install dependencies for docs target 2022-04-28 20:05:25 +02: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
  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.yaml 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