[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [OSSTEST Nested PATCH v8 5/7] Add new script to customize nested test configuration
On Mon, 2015-04-13 at 17:19 -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 v8: > 1. Replace '$nested_host' by '$l1->{Guest}'. > --- > ts-nested-setup | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > create mode 100755 ts-nested-setup > > diff --git a/ts-nested-setup b/ts-nested-setup > new file mode 100755 > index 0000000..41d5e80 > --- /dev/null > +++ b/ts-nested-setup > @@ -0,0 +1,52 @@ > +#!/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 ($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 cc'd you on some patches which I think should help avoid this duplication. > + > +store_runvar('nested_l1',$l1->{Guest}); I'm not sure what this is for and it would normally be wrong to hardcode nested_l1 like that, where is it used? Most places you seem to use nestedl1, not nested_l1. I think you ended up with this due to not using guest_var and the various hardcoding you've done elsewhere. I suspect with all that fixed and make-flight updated accordingly you won't need this var any more. > +store_runvar("$l1->{Guest}_ip",$l1->{Ip}); > + > +my $l2_disk_mb = 20000; > +my $l2_lv_name = 'nestedl2-disk'; > +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 I think you can do all of this by passing a suitable l2 $gho to prepareguest_part_lvmdisk, can't you? I think you can get that by my $l2 = selectguest($ARGV[????], $l1). Where ARGV[????] is a new parameter passed by sg-run-job i.e. nestedl2, i.e. the one after whatever ts_get_host_guest consumes at the top of the file (so ARGV[2] perhaps?). Once you have that $l2 you can then use guest_var for e.g. the size, which will be good because it will be picked up by your modifications to ts-debian-hvm-install such that they automatically match. > + xl block-attach $l1->{Name} /dev/${vgname}/${l2_lv_name},raw,sdb,rw You use sdb here, but xvdb below. I think xvdb would work here, or to avoid HVM confusion wrt SCSI vs PV perhaps use xvde throughout (since it has no emulated counterpart by default IIRC)? > +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"); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |