Skip to main content
Help us improve Python packaging – donate today!

Additional features on top of libguestfs-tools

Project Description

Rejviz [ray-veez], VM / disk image tools built on top of libguestfs-tools.

Currently rejviz-builder command is implemented.

Commands

rejviz-builder

A command that proxies to virt-builder and adds a custom --nic option, which allows to configure network interfaces on the image (files /etc/sysconfig/network-scripts/ifcfg-ethX). All other options are passed to virt-builder untouched.

The format of the --nic parameter is:

--nic name=NAME[,key=VALUE]...

key = {name|hwaddr|bootproto|ipaddr|network|netmask|broadcast}

The values which are not specified can often be inferred (or in case of hwaddr, autogenerated to a random KVM MAC address).

  • If only name is specified, the bootproto is ‘dhcp’.
  • If name and ipaddr is specified, the bootproto is ‘static’ and and the other values are inferred as for a /32 network.

Example usage:

rejviz-builder centos-7.0 \
    -o mycentos.qcow2 --format qcow2 --size 15G \
    --hostname mycentos --root-password password:mypassword \
    --nic name=eth0 \
    --nic name=eth1,ipaddr=192.168.122.15 \
    --nic name=eth2,ipaddr=192.168.123.15

Design doc

Use cases

  • Create a VM image
    • From base image
    • Having some size
    • With some script run
    • With network interfaces configured (some DHCP, some static IPs)
    • Subscribed via RHSM
  • Create a VM
    • With network interface MAC addresses matching the interfaces from the image
    • With some RAM and vCPUs
  • Amend existing VM image (or libvirt domain)
    • Reconfigure network interfaces
    • Re-subscribe via RHSM
  • Tell me something about an image (or libvirt domain)
    • List network interfaces and their basic config
    • Check that MACs on the domain match MACs in /etc/sysconfig/network-scripts

I/O view

  • Creating an image
    • In: params
    • Out: image
    • rejviz-builder command that proxies to virt-builder and adds custom params on top (RHSM, network interfaces)
  • Creating a VM
    • In: image and params
    • Out: domain XML or created domain (both through virt-install)
    • rejviz-install command that proxies to virt-install and determines some of the parameters from the image
  • Amending an image (or libvirt domain)
    • In: (image or domname) and params
    • Out: image edited in place
    • rejviz-customize command that proxies to virt-customize and adds custom params on top (RHSM, network interfaces)
  • Image/domain introspection
    • In: (image or domname) and params
    • Out: information printed
    • rejviz-peek

Release history Release notifications

This version
History Node

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
rejviz-0.0.1.tar.gz (17.5 kB) Copy SHA256 hash SHA256 Source None Oct 27, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page