I've just pushed a new tool to virt-manager.git called virt-xml. virt-xml uses
virt-install's command line options to allow building and editing domain XML.
Best way to describe what it can do is with a bunch of examples:
See a list of all suboptions that --disk and --network take
# virt-xml --disk=? --network=?
Change the <description> of domain 'example':
# virt-xml example --edit --metadata description="my new description"
# Enable the boot device menu for domain 'example':
# virt-xml example --edit --boot bootmenu=on
Clear the previous <cpu> definition of domain 'winxp', change it to
'host-model', but interactively confirm the diff before saving:
# virt-xml winxp --edit --cpu host-model,clearxml=yes --confirm
Change the sound cards with model=ac97 to model=ich6 on 'fedora19', but only
output the diff:
# virt-xml fedora19 --edit model=ac97 --soundhw model=ich6 --print-diff
Update the first graphics password to 'foo' of the running VM 'rhel6':
# virt-xml rhel6 --edit --graphics password=foo --update
Remove the disk path from disk device hdc:
# virt-xml rhel6 --edit target=hdc --disk path=
Change all disk devices of type 'disk' to use cache=none, using XML from
stdin, printing the new XML to stdout.
# cat <xmlfile> | virt-xml --edit device=disk --disk cache=none
Change all host devices to use driver_name=vfio for VM 'fedora20' on the
remote connection
# virt-xml --connect qemu+ssh://remotehost/system \
fedora20 --edit all --host-device driver_name=vfio
Hotplug host USB device 001.003 to running domain 'fedora19':
# virt-xml f19 --add-device --host-device 001.003 --update
Add a spicevmc channel to the domain 'winxp', that will be available after the
next VM shutdown.
# virt-xml winxp --add-device --channel spicevmc
Create a 10G qcow2 disk image and attach it to 'fedora18' for the next VM
startup:
# virt-xml fedora18 --add-device \
--disk /var/lib/libvirt/images/newimage.qcow2,format=qcow2,size=10
Remove the disk vdb from the running domain 'rhel7':
# virt-xml rhel7 --remove-device --disk target=vdb
Remove all graphics devices from the VM 'rhel7' after the next shutdown:
# virt-xml rhel7 --remove-device --graphics all
Generate XML for a virtio console device and print it to stdout:
# virt-xml --build-xml --console pty,target_type=virtio
The man page and --help output have more info, man page at:
https://git.fedorahosted.org/cgit/virt-manager.git/tree/man/virt-xml.pod
If you are interested in trying it out before it hits any distro, it's really
simple:
git clone
git://git.fedorahosted.org/virt-manager.git
cd virt-manager
./virt-xml --help
Nothing is set in stone yet, so if anyone has suggestions about the command
line syntax or any of the above, please speak up: I plan on cutting a new
virt-manager release with virt-xml within the next few weeks.
Thanks,
Cole