Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gryf/mistral-evacuate

PoC for providing automatic evacuation for VMs in OpenStack cloud using Mistral
https://github.com/gryf/mistral-evacuate

automatic evacuation ha instance-ha openstack vm

Last synced: about 1 month ago
JSON representation

PoC for providing automatic evacuation for VMs in OpenStack cloud using Mistral

Awesome Lists containing this project

README

        

Mistral evacuate plugin
=======================

This is a PoC for providing automatic evacuation for VMs in OpenStack cloud
using Mistral. It uses flavor extra specs and VM metadata to tell if given
instance should be evacuated. Extra spec is 'evacuation:evacuate' and VM
metadata is 'evacuate'. If one of them is set to True, instance will be
evacuated.

Installation
------------

#. Copy ``filter_vm_action.py`` and ``evacuate_vm_action.py``
to the place reachable by python interpreter -
see ``PYTHONPATH`` or ``sys.path`` for reference.
#. Append lines

.. code:: ini

[entry_points]
mistral.actions =

custom.filter_vm = filter_vm_action:FilterVmAction
custom.evacuate = evacuate_vm_action:EvacuateVmAction

to ``setup.cfg`` file under Mistral repository
#. Run db-sync tool via either

.. code:: shell-session

$ tools/sync_db.sh --config-file

or

.. code:: shell-session

$ mistral-db-manage --config-file populate

#. Register Mistral workflow:

.. code:: shell-session

$ mistral workflow-create host-evacuate.yaml

#. Create JSON file with content similar to:

.. code:: json

{
"search_opts": {
"host": "compute-hostanme"
},
"on_shared_storage": false
}

#. Trigger the action via:

.. code:: shell-session

$ mistral execution-create host-evacuate input.json

where ``input.json`` is a file created in previous step.