Skip to main content

Qemu VM management utilities

Project description

This package provides a utility to manage virtual machines and their life cycle in the Flying Circus. We try to keep specifics of our environment out of there, but we make a few assumptions:

  • VM disks (root, swap, tmp) are stored in Ceph

  • There is a script create-vm that will prepare a fresh root disk image.

The utility allows you to

  • start, stop and migrate VMs between hosts

  • run a daemon that enforces the policy about running VMs given by a set of config files

  • resize disks.

Config format

Generic template

The Qemu config file will be generated from a template. If no template is found in /etc/qemu/qemu.vm.cfg.in, a built-in default template will be used. Refer to qemu.vm.cfg.in in the source distribution.

Per-VM configuration

Expects a config file for each VM in /etc/qemu/vm/*.cfg.

The config file format is YAML.

Format:

name: test00
parameters:
    id: 12345
    resource_group: test

    online: true
    kvm_host: bob

    disk: 5
    memory: 512
    cores: 1

    nics:
    - srv: 00-01-02-03-05-06
    - fe: 00-01-02-03-05-06

Release notes

0.6 (2015-01-15)

  • Implement live migration. Use “inmigrate” and “outmigrate” commands to coordinate the process (#13229).

  • Note that the qemu.cfg.in template has changed!

  • Improve test coverage.

0.5.1 (2014-11-22)

  • Bugfix: remove Ceph discard call since it seems to be unstable (#13414).

  • Improve operability by reworking what is logged to fc-qemu.log.

0.5 (2014-11-21)

  • Root filesystem shrink during VM start (#13414).

  • Add ‘force-unlock’ action to break stale locks (e.g., after a VM host went down).

0.4.3 (2014-11-13)

  • Read Qemu config file template from /etc/qemu/qemu.vm.cfg.in.

  • Fix tests and documentation.

0.4.2 (2014-11-12)

  • Rate limit entropy transfer from host to guest (#13751).

  • Add ‘restart’ command to simplify VM restarts.

0.4.1 (2014-09-24)

0.4 (2014-09-16)

  • Allow selecting the specific command line to call for creating a VM using a config file + formatting syntax.

  • Add test coverage to show that we gracefully recover from crashed VMs upon a subsequent ‘ensure’.

0.3 (2014-09-13)

  • Refactor and rename to ‘fc.qemu’. Integrate most functionality that was previously placed in our init scripts and localconfig (fc.agent) utilities.

  • Add a lot of test coverage.

0.2.6 (2014-08-21)

  • Fix incoming VM detection for an already locked _and_ started VM.

0.2.5 (2014-08-20)

  • Implement a safety-belt to prohibit migrating VMs that have not yet been started with the supported /run/kvm.*.cfg.in format.

fc.qemu development

Prepare working copy in a personal box:

host$ hg clone https://bitbucket.org/flyingcirucs/fc.qemu
host$ cd fc.qemu
host$ vagrant up
host$ vagrant ssh

Run the tests:

vm$ cd /vagrant
vm$ sudo bin/py.test

Test execution automatically updates a coverage report in the htmlcov directory.

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

fc.qemu-0.6.zip (33.1 kB view details)

Uploaded Source

File details

Details for the file fc.qemu-0.6.zip.

File metadata

  • Download URL: fc.qemu-0.6.zip
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fc.qemu-0.6.zip
Algorithm Hash digest
SHA256 c337b91201f93f264b7edad45c4a6e3758bfc8c7a223beef20eced43051fc211
MD5 753962dcb4f2be9e54b1ce3fc18bf3a1
BLAKE2b-256 11537cf2b7f573f939f7a4876ca744605699385ba6caa5638301f371049398cd

See more details on using hashes here.

Supported by

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