All Projects → gryf → mistral-evacuate

gryf / mistral-evacuate

Licence: other
PoC for providing automatic evacuation for VMs in OpenStack cloud using Mistral

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mistral-evacuate

get LibSeat
利昂图书馆预约系统自动预约&签到程序。支持包括中国人民大学、北京师范大学、济南大学、哈尔滨工业大学等在内的38所高校的图书馆系统
Stars: ✭ 39 (+143.75%)
Mutual labels:  automatic
arch-ansible
An Ansible playbook to install Arch Linux
Stars: ✭ 33 (+106.25%)
Mutual labels:  vm
starlight
[WIP] Yet another Erlang implementation in Rust
Stars: ✭ 33 (+106.25%)
Mutual labels:  vm
wazero
wazero: the zero dependency WebAssembly runtime for Go developers
Stars: ✭ 2,065 (+12806.25%)
Mutual labels:  vm
butterfly
Butterfly connects Virtual Machines and control their traffic flow
Stars: ✭ 48 (+200%)
Mutual labels:  vm
WEB CodeSquare AmongUs
군 복무중인 개발자를 위한 국방망용 통합 개발 플랫폼
Stars: ✭ 42 (+162.5%)
Mutual labels:  openstack
Conceptum
Conceptum is a stack-based, lightweight, Turing-equivalent JIT virtual machine running a small set of bytecodes for benchmarking VM performance.
Stars: ✭ 17 (+6.25%)
Mutual labels:  vm
terraform-aws-efs-backup
Terraform module designed to easily backup EFS filesystems to S3 using DataPipeline
Stars: ✭ 40 (+150%)
Mutual labels:  automatic
SBTCVM-Gen2-9
SBTCVM is a virtual machine implementation of a balanced ternary (base 3) computer. Features several compiled languages for ternary software development.
Stars: ✭ 32 (+100%)
Mutual labels:  vm
isolated-runtime
Run untrusted Javascript code in a multi-tenant, isolated environment
Stars: ✭ 21 (+31.25%)
Mutual labels:  vm
xcode-configure
This command can generate makefile to build xcode project in command line just like <configure & make & make install> in C/C++ language world.
Stars: ✭ 34 (+112.5%)
Mutual labels:  automatic
autosvg
Autosvg is tracing tool, which can convert image format like (jpg,png,gif) into vector
Stars: ✭ 35 (+118.75%)
Mutual labels:  automatic
testbed
With this testbed, it is possible to run a full OSISM installation, the baseline of the Sovereign Cloud Stack, on an existing OpenStack environment such as City Cloud or Open Telekom Cloud.
Stars: ✭ 51 (+218.75%)
Mutual labels:  openstack
Tkinter-Designer
An easy and fast way to create a Python GUI 🐍
Stars: ✭ 4,697 (+29256.25%)
Mutual labels:  automatic
vagrant-openstack
Vagrant OpenStack-Ansible Environment used by OpenStack Cloud Computing Cookbook 4th Edition
Stars: ✭ 45 (+181.25%)
Mutual labels:  openstack
geecp
Gee Control Panel,全面开源,符合中国市场习惯的企业级产品计费系统。
Stars: ✭ 25 (+56.25%)
Mutual labels:  openstack
vigor
Main repository of the Vigor NF verification project.
Stars: ✭ 40 (+150%)
Mutual labels:  automatic
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+387.5%)
Mutual labels:  vm
cloudpods
A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台
Stars: ✭ 1,469 (+9081.25%)
Mutual labels:  openstack
inside-vm
Detect if code is running inside a virtual machine (x86 and x86-64 only).
Stars: ✭ 32 (+100%)
Mutual labels:  vm

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].