Mistral evacuate plugin ======================= This is a PoC for providing automatic evacuation for VMs in OpenStack cloud using Mistral. 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.find_flavors = find_flavors_by_extra_spec:FindFlavorsByExtraSpecs 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, "flavor_extra_specs": { "evacuation:evacuate": true } } #. Trigger the action via: .. code:: shell-session $ mistral execution-create host-evacuate input.json where ``input.json`` is a file created in previous step.