Skip to main content

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

Project details


Download files

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

Source Distribution

rejviz-0.0.1.tar.gz (17.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page