Remote Virtual Machine Installation

Summary

Owner

Current status

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.