--- On Wed, 11/10/10, Laine Stump <laine(a)laine.org> wrote:
> From: Laine Stump <laine(a)laine.org>
> Subject: Re: [libvirt-users] Updating Multiple VM Guests?
> To: libvirt-users(a)redhat.com
> Date: Wednesday, November 10, 2010, 1:27 PM
> On 11/10/2010 01:20 PM, Kenneth
> Stailey wrote:
> >
> > --- On Wed, 11/10/10, Laine Stump<laine(a)laine.org>
> wrote:
> >
> >> From: Laine Stump<laine(a)laine.org>
> >> Subject: Re: [libvirt-users] Updating Multiple VM
> Guests?
> >> To: libvirt-users(a)redhat.com
> >> Date: Wednesday, November 10, 2010, 12:41 PM
> >> On 11/10/2010 11:59 AM, Kenneth
> >> Stailey wrote:
> >>> Hi,
> >>>
> >>> The
libvirt.org FAQ says that "virsh edit" is
> the
> >> recommended way of updating the libvirt xml.
> >>> If a change has to be made to many VMs "virsh
> edit" is
> >> tedious, time-consuming and likely to be prone to
> careless
> >> errors.
> >>> Is there a command line approach to updating
> multiple
> >> VMs?
> >>
> >> How about:
> >>
> >> for g in guest1 guest2
> guest3 guest4; do
> >> virsh dumpxml
> --inactive $g
> >>> /tmp/g.xml
> >> # do whatever sed/etc
> commands you
> >> want here
> >> virsh define
> /tmp/g.xml
> >> done
> >>
> >> (or something like that, anyway :-)
> > The "sed, etc." is a mistake since XML does not have
> guaranteed format.
> >
> > I suppose XMLStarlet could be used.
> >
> >
http://xmlstar.sourceforge.net/
>
> Yeah. sed is just my general purpose "replacement for
> editing by hand"
> token ;-)
>
> Something that is xml-aware would obviously be a much
> better choice.
It's too painful to get right anyway. I just used this:
#! /bin/bash
# hack to fixup qemu version numbers in libvirt xml
if [ `id -un` != root ]; then
echo this script only works as root
exit 1
fi
cd /dev/shm
for i in `virsh list --all | awk '/running|shut off/ {print $2}'`
do
virsh dumpxml $i > $i.xml
sed -i.bak -e 's/pc-0.11/pc-0.12/' $i.xml
yep, for case simple like this, sed is good enough to get it done. :-)
virsh define $i.xml
done
_______________________________________________
libvirt-users mailing list
libvirt-users(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-users