Virtual Machine High Availability (VMHA) service for OpenStack.
Go to file
Mark Goddard 3bd82c776c Fix CA file for nova client
If a custom CA file is configured via nova_ca_certificates_file,
currently communication with Keystone will fail, since the session is
not created using this CA file. The same is true for nova_api_insecure.

This change fixes the issue by using a keystoneauth session loader.

Closes-Bug: #1873736

Change-Id: I54a4f398a06c61e0f6f8f3efd3e4b6214bca756b
2020-07-23 11:40:28 +01:00
api-ref/source Merge "Fix typo for sgement => segment" 2020-06-11 01:16:19 +00:00
devstack Use uwsgi binary from path 2020-06-30 16:52:29 +08:00
doc Merge "Check if host belongs to a segment" 2020-06-03 00:51:43 +00:00
etc/masakari Support noauth2 auth_strategy 2019-10-03 04:42:03 +00:00
masakari Fix CA file for nova client 2020-07-23 11:40:28 +01:00
playbooks/devstack Add functional CI job and tests for segments 2019-03-05 12:22:07 +05:30
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-01 15:08:16 +02:00
roles/devstack-config/tasks Add functional CI job and tests for segments 2019-03-05 12:22:07 +05:30
.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
.zuul.yaml Add Python3 victoria unit tests 2020-04-23 15:43:51 +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 Replace git.openstack.org URLs with opendev.org URLs 2019-08-11 15:00:14 +00:00
babel.cfg Initial Cookiecutter Commit. 2016-06-28 13:28:27 +09:00
bindep.txt add libpq-dev and python-dev to build psycopg2 2019-08-26 13:36:36 +05:30
lower-constraints.txt drop mock from lower-constraints 2020-06-09 01:21:40 +02:00
requirements.txt Cap jsonschema 3.2.0 as the minimal version 2020-05-27 10:31:59 +02:00
setup.cfg Add py38 package metadata 2020-04-24 08:22:36 -05:00
setup.py Updated from global requirements 2017-04-02 01:04:58 +00:00
test-requirements.txt Update hacking for Python3 2020-04-19 07:41:06 +02:00
tox.ini Bump default tox env from py37 to py38 2020-04-24 10:25:43 -05: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