OkiDoki - VM High Availability for OpenStack

OkiDoki is a project to achieve VM High Availability for OpenStack platform.

It uses Masakari, Corosync, and Pacemaker.

  • Masakari: provides Instances High Availability Service for OpenStack

    • recover KVM-based Virtual Machine(VM)s from failure events
    • an API service to manage and control the automated rescue mechanism
  • Cluster stack: Corosync, Pacemaker, Pacemaker-remote for HA

    • Corosync: cluster engine
    • Pacemaker: resource manager
    • Pacemaker-remote: lightweight resource manager for scalability. (corosync/pacemaker cluster has a limit of 16 nodes.)

OkiDoki Components

  • Controller nodes

    • corosync/pacemaker
    • masakari-api: Get notifications of instance/host failures from monitor
    • masakari-engine: Process recovery workflow for instance/host failure
  • Compute nodes

    • pacemaker-remote
    • masakari-instancemonitor
    • masakari-hostmonitor

masakari-processmonitor is not used by OkiDoki because openstack components are running as pods on kubernetes system. Kubernetes itself can handle nova-compute service failure.

Demo

screencast