Tools and automation to achieve Disaster Recovery of OpenStack Cloud Platforms
Go to file
Saad Zaher 3c6c6b8697 Allow the evacuator to enable passing shared storage parameter to nova
Boolean flag will be set to True in case of compute nodes are running
on a shared storage and will be False otherwise

Depends-On: Ie6f3f12efafbca530271d6771fac83480ee19000

Change-Id: I46e9eb2e1ace17959a02b3107e5ad3e85e2cd851
implements: blueprint dr-enable-shared-storage
2016-06-06 10:00:38 +00:00
config-generator freezer-dr big bang 2016-05-09 09:55:31 +00:00
doc Added .gitreview 2016-05-12 13:10:52 +00:00
etc Updating notification templates 2016-05-11 13:03:58 +00:00
freezer_dr Allow the evacuator to enable passing shared storage parameter to nova 2016-06-06 10:00:38 +00:00
tests Adding pep8, pylint, coverage, sphinx testing 2016-05-09 15:00:10 +00:00
.coveragerc Adding pep8, pylint, coverage, sphinx testing 2016-05-09 15:00:10 +00:00
.gitignore Added .gitreview 2016-05-12 13:10:52 +00:00
.gitreview Added .gitreview 2016-05-12 13:10:52 +00:00
.pylintrc Adding pep8, pylint, coverage, sphinx testing 2016-05-09 15:00:10 +00:00
.testr.conf Adding pep8, pylint, coverage, sphinx testing 2016-05-09 15:00:10 +00:00
CREDITS.rst Adding CREDITS.rst 2016-02-12 16:28:58 +00:00
HACKING.rst freezer-dr big bang 2016-05-09 09:55:31 +00:00
README.rst Merge branch 'master' of https://github.com/szaher/freezer-dr 2016-05-10 10:45:47 +00:00
requirements.txt Added .gitreview 2016-05-12 13:10:52 +00:00
setup.cfg Remvoe Version from Freezer-dr 2016-06-05 02:10:11 +01:00
setup.py Adding support for plugable monitoring systems 2015-12-22 16:24:20 +00:00
test-requirements.txt Added .gitreview 2016-05-12 13:10:52 +00:00
tox.ini Added .gitreview 2016-05-12 13:10:52 +00:00

README.rst

Freezer Disaster Recovery

freezer-dr, Openstack Compute node High Available provides compute node high availability for OpenStack. Simply freezer-dr monitors all compute nodes running in a cloud deployment and if there is any failure in one of the compute nodes freezer-dr will fence this compute node then freezer-dr will try to evacuate all running instances on this compute node, finally freezer-dr will notify all users who have workload/instances running on this compute node as well as will notify the cloud administrators.

freezer-dr has a pluggable architecture so it can be used with:

  1. Any monitoring system to monitor the compute nodes (currently we support only native openstack services status)
  2. Any fencing driver (currently supports IPMI, libvirt, ...)
  3. Any evacuation driver (currently supports evacuate api call, may be migrate ??)
  4. Any notification system (currently supports email based notifications, ...)

just by adding a simple plugin and adjust the configuration file to use this plugin or in future a combination of plugins if required

freezer-dr should run in the control plane, however the architecture supports different scenarios. For running freezer-dr under high availability mode, it should run with active passive mode.

How it works

Starting freezer-dr:

  1. freezer-dr Monitoring manager is going to load the required monitoring driver according to the configuration
  2. freezer-dr will query the monitoring system to check if it considers any compute nodes to be down ?
  3. if no, freezer-dr will exit displaying No failed nodes
  4. if yes, freezer-dr will call the fencing manager to fence the failed compute node
  5. Fencing manager will load the correct fencer according to the configuration
  6. once the compute node is fenced and is powered off now we will start the evacuation process
  7. freezer-dr will load the correct evacuation driver
  8. freezer-dr will evacuate all instances to another computes
  9. Once the evacuation process completed, freezer-dr will call the notification manager
  10. The notification manager will load the correct driver based on the configurations
  11. freezer-dr will start the notification process ...