From Fedora Project Wiki

< Features

Revision as of 11:57, 4 September 2008 by Crobinso (talk | contribs) (Avahi supported committed, update percentage)

Remote Virtual Machine Installation

Summary

Enable creating virtual machines on properly configured remote hosts.

Owner

Current status

  • Targeted release: Fedora 10
  • Last updated: August 11, 2008
  • Percentage of completion: 90%

Detailed Description

Fully support remote guest creation in virt-install and virt-manager. This entails allowing a way to specify existing managed storage on the remote connection, or provisioning new storage on an existing pool at install time. Install methods are either PXE or a managed cdrom.

Ideally coupled with this will be better remote connection support: use libvirt's avahi advertising to search for potential remote connections when adding a connection in virt-manager.

Benefit to Fedora

Remote VM installation isn't for everyone but it's pretty compelling for folks managing more than one physical machine for virtualization. A central box can be used to do all provisioning, where previously an admin would have to interact directly with the host. This will also encourage interested users to manage their storage and installation media using libvirt's storage capabilities, whose benefits are outlined at the VirtStorage feature page.

Scope

Changes are largely limited to python-virtinst (virt-install) and virt-manager. Infrastructure is already present in libvirt, excluding necessary bug fixes. This will augment existing local guest creation by adding the option to choose managed storage rather than specifying a path manually, but the remote case is an entirely new feature.

Test Plan

  • Follow steps in test plan for VirtStorage to create storage on a remote host
  • Use virt-manager and virt-install for each of the following on the remote host:
    • Test install methods --pxe and --cdrom with managed storage
    • Test with vm storage as a an existing volume
    • Test with vm storage allocated on an existing pool

User Experience

Users will no longer need to log into individual machines to provision VMs. Adding remote connections to virt-manager will be largely automated through polling for connections on the local network.

Dependencies

  • libvirt: storage support (Done)
  • python-virtinst
    • cli interface in virt-install for specifying managed storage (Done)
    • virtinst api extensions to support managed storage (Done)
  • virt-manager:
    • Use extended virtinst apis for remote storage management during install (in progress)
    • Poll avahi for remote libvirt instances when adding a connection (Done)

Contingency Plan

Ordered priorities for incomplete items:

  • virt-install managed storage interface
  • basic virt-manager managed storage support (use existing interface, check to see if specified path is managed on host)
  • avahi libvirt polling
  • thorough virt-manager storage integration (basically replace all File Chooser dialogs with a pool + volume listing, with option for local file chooser and allocating storage on existing pools)

As needed, chop off pieces from the bottom on up. The first two parts are required for this feature, the others will make the experience much cleaner.

Documentation

virt-install remote support patches and discussion Wiki pages to be written once interfaces land.

Release Notes

Hmm, this shouldn't break any current functionality. Instructions on how to use the feature can be written after the interfaces are worked out.

Comments and Discussion