mirror of
https://github.com/gryf/mistral-evacuate.git
synced 2026-02-07 16:55:52 +01:00
30856113e66729ce8a7538c970e4cc18a8737bd9
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
[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
$ tools/sync_db.sh --config-file <path-to-config>or
$ mistral-db-manage --config-file <path-to-config> populateRegister Mistral workflow:
$ mistral workflow-create host-evacuate.yamlCreate JSON file with content similar to:
{ "search_opts": { "host": "compute-hostanme" }, "on_shared_storage": false }Trigger the action via:
$ mistral execution-create host-evacuate input.jsonwhere input.json is a file created in previous step.
Description
Languages
Python
100%