Skip to content

dawiddeja/evacuationd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Evacuationd is a daemon that is designed for maintaining evacuation process of instances in case of compute failure. It is intended to work with pacemaker, but any other cluster manager that is able to run simple script in case of compute failure would work.

How it works

Evacuationd is an active-active daemon that is able to send messages onto RabbitMQ queues and to receive them. For every received message, there is an action that daemon will perform. An acknowledge is send back to RabbitMQ only if action ends successfully. Doing so, if particular daemon dies while doing an action, message will be resend and some other instance of evacuationd will do the job. The possible actions are:

  1. Host-evacuate - Ask nova for instances running on given host, and for every instance send message 'Vm-evacuate'
  2. Vm-evacuate - Evacuate given VM.

If an exception occurs while processing an action, message related with it is resend, so this action will be retry later.

evacuationdworkflow

Future work

  1. Enable usage of acknowledges in OpenStack Oslo, so it can be used instead of python-pika;
  2. Add 3rd Action - Look for VM - it will check if given VM ended up in active state on new hosts; if no, VM can be rebuild

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages