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

Re: [Xen-devel] [OSSTEST Nested PATCH v7 4/6] Add new script to custmize nested test configuration




> -----Original Message-----
> From: Ian Campbell [mailto:ian.campbell@xxxxxxxxxx]
> Sent: Tuesday, March 31, 2015 10:14 PM
> To: Pang, LongtaoX
> Cc: xen-devel@xxxxxxxxxxxxx; Ian.Jackson@xxxxxxxxxxxxx; wei.liu2@xxxxxxxxxx;
> Hu, Robert
> Subject: Re: [OSSTEST Nested PATCH v7 4/6] Add new script to custmize nested
> test configuration
> 
> On Fri, 2015-03-27 at 19:06 -0400, longtao.pang wrote:
> > 1. In this script, make some appropriate runvars which selecthost
> > would recognise.
> > 2. Prepare the configurations for installing L2 guest VM.
> > 3. Create a lv disk in L0 and hot-attach it to L1, need to restart L1
> > to make the block disk to be recognized by L1 system, then using this
> > disk to create a VG that used for installing L2.
> >
> > Signed-off-by: longtao.pang <longtaox.pang@xxxxxxxxx>
> > ---
> > Changes in v7:
> > Add new ts script for nested configuration according maintainer's reply.
> > ---
> >  ts-nested-setup |   54
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 54 insertions(+)
> >  create mode 100755 ts-nested-setup
> >
> > diff --git a/ts-nested-setup b/ts-nested-setup new file mode 100755
> > index 0000000..153c4a3
> > --- /dev/null
> > +++ b/ts-nested-setup
> > @@ -0,0 +1,54 @@
> > +#!/usr/bin/perl -w
> > +# This is part of "osstest", an automated testing framework for Xen.
> > +# Copyright (C) 2015 Intel Inc.
> > +#
> > +# This program is free software: you can redistribute it and/or
> > +modify # it under the terms of the GNU Affero General Public License
> > +as published by # the Free Software Foundation, either version 3 of
> > +the License, or # (at your option) any later version.
> > +#
> > +# This program is distributed in the hope that it will be useful, #
> > +but WITHOUT ANY WARRANTY; without even the implied warranty of #
> > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the #
> GNU
> > +Affero General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU Affero General Public
> > +License # along with this program.  If not, see
> <http://www.gnu.org/licenses/>.
> > +
> > +use strict qw(vars);
> > +use DBI;
> > +use Osstest;
> > +use Osstest::Debian;
> > +use Osstest::TestSupport;
> > +
> > +tsreadconfig();
> > +our ($ident_l0,$nested_host) = @ARGV;
> 
> You don't used $ident and I think all your uses of $nested_host can be 
> replaced
> by $l1->{Guest} using the result of the ts_get_host_guest.
> 
> > +our ($l0,$l1) = ts_get_host_guest(@ARGV);
> > +
> > +guest_check_ip($l1);
> > +target_cmd_root($l1, "mkdir -p /home/osstest/.ssh && cp
> > +/root/.ssh/authorized_keys /home/osstest/.ssh/"); my $url =
> > +$c{WebspaceUrl}.$c{WebspaceCommon}.$l0->{Name}."_".'overlay.tar';
> > +target_cmd_root($l1, <<END);
> > +    wget -O overlay.tar $url
> > +    tar -xf overlay.tar -C /
> > +    rm overlay.tar -f
> > +    update-rc.d osstest-confirm-booted start 99 2 .
> > +END
> 
> I think the need for this goes away with
> http://article.gmane.org/gmane.comp.emulators.xen.devel/224420
> from my distro test flight series.
> 
> As it happens I was rebasing that series this morning but due to other issues
> I've not managed to run it yet. Once I've managed to at least smoke test I'll 
> CC
> you on the repost.
> 
OK. What's more, for the below codes which is used for starting 
'osstest-confirm-booted' script to confirm whether L1 is fully booted after 
reboot it. I think it's necessary here.
 +target_cmd_root($l1, <<END);
 +    wget -O overlay.tar $url
 +    tar -xf overlay.tar -C /
 +    rm overlay.tar -f
 +    update-rc.d osstest-confirm-booted start 99 2 .
+END
 
> > +store_runvar('nested_l1',$nested_host);
> > +store_runvar("${nested_host}_ip",$l1->{Ip});
> > +store_runvar('multi_reboot_time',5);
> 
> I think you said in a previous patch that this last one isn't needed any more?
> 
> > +my $l2_disk_mb = 20000;
> > +my $l2_lv_name = 'nestedl2';
> > +my $vgname = $l0->{Name};
> > +$vgname .= ".$c{TestHostDomain}" if ($l0->{Suite} =~ m/lenny/);
> > +target_cmd_root($l0, <<END);
> > +    lvremove -f /dev/${vgname}/${l2_lv_name} ||:
> > +    lvcreate -L ${l2_disk_mb}M -n $l2_lv_name $vgname
> > +    dd if=/dev/zero of=/dev/${vgname}/${l2_lv_name} count=10
> > +    xl block-attach $l1->{Name}
> > +/dev/${vgname}/${l2_lv_name},raw,sdb,rw
> 
> This attach won't be persistent over domain destroy, is that expected?
> 
We need create a logical volume in L0 and attach it to L1 for L2 VM installing. 
Before creating, it will remove the logical volume with the same "$l2_lv_name" 
that has already existed. 
Yes, after destroyed L1 VM, the logical volume will still exist inside L0, but 
there is no harm, I think.
> > +END
> > +target_install_packages_norec($l1, qw(lvm2 rsync genisoimage));
> > +target_reboot($l1); target_cmd_root($l1, "pvcreate /dev/xvdb &&
> > +vgcreate ${l2_lv_name}_vg /dev/xvdb");
> 
> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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