Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.48 KB

README.rst

File metadata and controls

62 lines (41 loc) · 1.48 KB

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

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

  2. Append lines

    [entry_points]
    mistral.actions =
        …
        custom.filter_vm = filter_vm_action:FilterVmAction
        custom.evacuate = evacuate_vm_action:EvacuateVmAction

    to setup.cfg file under Mistral repository

  3. Run db-sync tool via either

    $ tools/sync_db.sh --config-file <path-to-config>
    

    or

    $ mistral-db-manage --config-file <path-to-config> populate
    
  4. Register Mistral workflow:

    $ mistral workflow-create host-evacuate.yaml
    
  5. Create JSON file with content similar to:

    {
        "search_opts": {
            "host": "compute-hostanme"
        },
        "on_shared_storage": false
    }
  6. Trigger the action via:

    $ mistral execution-create host-evacuate input.json
    

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