[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 05/10] Introduce cirros-pvgrub2-pv test



On Mon, 27 Mar 2017, Gémes Géza wrote:
> 2017-03-27 19:24 keltezéssel, Stefano Stabellini írta:
> > On Mon, 27 Mar 2017, Stefano Stabellini wrote:
> > > On Sat, 25 Mar 2017, Géza Gémes wrote:
> > > > This test verifies booting the cirros image using pvgrub2
> > > > 
> > > > Signed-off-by: Géza Gémes <geza.gemes@xxxxxxxxx>
> > > Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> > > 
> > > 
> > > > ---
> > > >   tests/cirros-pvgrub2-pv | 33 +++++++++++++++++++++++++++++++++
> > > >   tests/series            |  1 +
> > > >   2 files changed, 34 insertions(+)
> > > >   create mode 100644 tests/cirros-pvgrub2-pv
> > > > 
> > > > diff --git a/tests/cirros-pvgrub2-pv b/tests/cirros-pvgrub2-pv
> > > > new file mode 100644
> > > > index 0000000..4994ea9
> > > > --- /dev/null
> > > > +++ b/tests/cirros-pvgrub2-pv
> > > > @@ -0,0 +1,33 @@
> > > > +#!/usr/bin/env bash
> > > > +
> > > > +set -e
> > > > +
> > > > +function cirros-pvgrub2-pv-cleanup() {
> > > > +    tear_down_cirros_test $testdir
> > > > +}
> > > > +
> > > > +function cirros-pvgrub2-pv-test() {
> > > > +    download_cirros_components
> > > > +    testdir=`mktemp -d`
> > > > +    cp $CIRROS_DOWNLOADS/$CIRROS_DISK_FILE $testdir
> > > > +    # Need to install grub.cfg
> > > > +    local cirros_disk_loop=`$SUDO $BASEDIR/scripts/lopartsetup
> > > > $testdir/$CIRROS_DISK_FILE | head -1 | cut -d ":" -f 1`
> > > > +    local cirros_disk_mntpt=`mktemp -d`
> > > > +    $SUDO mount $cirros_disk_loop $cirros_disk_mntpt
> > > > +    cirros_grub_cfg $cirros_disk_mntpt
> > > > +    $SUDO umount $cirros_disk_mntpt
> > > > +    $SUDO rmdir $cirros_disk_mntpt
> > > > +    $SUDO losetup -d $cirros_disk_loop
> > Actually, one more comment before I commit the series: would it be
> > possible to call cirros_grub_cfg from download_cirros_components as we
> > do for cirros_network_init?
> > 
> > If we did that, would the other tests that rely on the grub config file
> > (for example cirros-qemu-hvm) continue to work properly? I think they
> > must work properly, otherwise even today with the series as is, they
> > would fail if they get executed after cirros-pvgrub2-pv, which calls
> > cirros_grub_cfg.
> > 
> As each test runs in its own private testdir, they all run with their almost
> (except the static ip address) verbatim copy of vanilla cirros.
> However pvgrub requires a grub2 config file, which is missing from cirros,
> having only a menu.lst.
> Modifying the downloaded image to have a grub.cfg by default has no effect on
> the majority of the tests, with the exception of the pygrub test, which cannot
> interpret the grub.cfg needed by pvgrub. Because of this incompatibility I've
> chosen to add grub.cfg only in the case of the pvgrub test, which needs it and
> run the other tests with a cirros image as close to the original as possible.

OK, I think you made the right choice. I'll commit shortly.


> > > > +    cat >$testdir/cirros-pvgrub2-pv.cfg <<EOF
> > > > +name = "raisin-test"
> > > > +memory = 128
> > > > +vcpus = 2
> > > > +kernel = "$PVGRUB"
> > > > +disk = [ '${testdir}/${CIRROS_DISK_FILE},raw,xvda,rw' ]
> > > > +extra = "$CIRROS_GRUB_CFG"
> > > > +vif = [ 'bridge=xenbr1' ]
> > > > +EOF
> > > > +
> > > > +    $SUDO xl create $testdir/cirros-pvgrub2-pv.cfg
> > > > +    check_guest_alive
> > > > +}
> > > > diff --git a/tests/series b/tests/series
> > > > index 372fafb..1fec245 100644
> > > > --- a/tests/series
> > > > +++ b/tests/series
> > > > @@ -3,3 +3,4 @@ busybox-hvm
> > > >   busybox-hvm-migrate
> > > >   cirros-separate-kernel-pv
> > > >   cirros-pygrub-pv
> > > > +cirros-pvgrub2-pv
> > > > -- 
> > > > 2.7.4
> 
> Cheers,
> 
> Geza
> 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.