Skip to content

digitronik/miqbox

Repository files navigation

MiqBox

Spin ManageIQ/CFME Appliance locally with Virtualization.

Python Versions Build Status License: GPLV2 PyPI version Downloads Code style: black

Prerequisite

  1. Virtualization:

    • Fedora

      sudo dnf install @virtualization
      systemctl start libvirtd
      systemctl enable libvirtd

      If you want optional packages

      dnf group install --with-optional virtualization
    • Ubuntu

      sudo apt-get install qemu-kvm
  2. Devel Packages:

    sudo dnf install libvirt-devel python-devel python3-devel

Install

  • pip

    pip install miqbox --user
  • source

    python setup.py install --user

Troubleshooting

  • libvirt: Polkit error

  • To prevent libvirt from asking root password:

    • Add libvirt group (It may be present by default)

      sudo groupadd libvirt
    • Add not root user as member

      sudo usermod -a -G libvirt <username>
    • Add Polkit rule for libvirt:

      vim /etc/polkit-1/rules.d/80-libvirt.rules
      polkit.addRule(function(action, subject) {
      if (action.id == "org.libvirt.unix.manage"
          && subject.local
          && subject.active
          && subject.isInGroup("libvirt")) {
      return polkit.Result.YES;
      }
      });

Usage

  • Help available with MiqBox

     Usage: miqbox [OPTIONS] COMMAND [ARGS]...
    
       Spin ManageIQ/CFME Appliance locally with Virtualization.
    
     Options:
       --version  Show the version and exit.
       --help     Show this message and exit.
    
     Commands:
       config     Configure MiqBox
       create     Create Appliance
       evmserver  Restart Miq/CFME Server
       images     Check available images
       kill       Kill Appliance
       pull       Download Image
       rmi        Remove local Images
       start      Start Appliance
       status     Appliance Status
       stop       Stop Appliance
    

Contribute

  • Fork the repository on GitHub and make some changes. Make sure to add yourself to AUTHORS.

  • Install the in development mode

    pip install -r requirements-dev.txt
    pip install -e .
  • Send pull requests and bugs.