Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/gryf/mistral-evacuate
- Owner: gryf
- Created: 2015-11-16T15:42:38.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-03-21T09:28:49.000Z (almost 9 years ago)
- Last Synced: 2023-10-20T20:07:00.993Z (about 1 year ago)
- Topics: automatic, evacuation, ha, instance-ha, openstack, vm
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 16
- Watchers: 7
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
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:EvacuateVmActionto ``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.