| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V2 4/6] Introduce ts-ovmf-debian-install
 Wei Liu writes ("[PATCH RFC V2 4/6] Introduce ts-ovmf-debian-install"):
> This is OVMF guest test case. It resembles ts-redhat-install:
Thanks.  This is coming along but it still has too much clone-and-hack
in it.  All duplicated code should be factored out into TestSupport.pm
or Debian.pm.
> +    $preseed_file .= (<<END);
> +d-i netcfg/get_hostname string debian-hvm
This string should presumably be the guest ident or something.
> +d-i apt-setup/use_mirror boolean false
I think you need to use the mirror as specified for host installs, so
I think you need to move the mirror stuff into preseed_base.
> +d-i pkgsel/include string openssh-server, ntp, ntpdate, 
This is mostly common with preseed_create, so should be there.  You
will probably need to pass the xopts to preseed_base.
> +d-i preseed/early_command string
> +
> +d-i preseed/late_command string \\
> +     in-target mkdir -p /boot/efi/EFI/boot; \\
> +     in-target cp /boot/efi/EFI/debian/grubx64.efi 
> /boot/efi/EFI/boot/bootx64.efi ;\\
Yuk.
> +     in-target mkdir -p /root/.ssh; \\
> +        cp /authorized_keys /target/root/.ssh
There's already machinery for doing this (rather differently) in
preseed-create.  Surely you should use it ?
> +d-i clock-setup/ntp-server string ntp.uk.xensource.com
Firstly, if this is needed it should be in preseed-base.  Secondly the
hardcoded xensource.com is right out!
> +    target_putfilecontents_root_stash($ho, 10, preseed(),
> +                                      "/root/guest-preseed");
These pathnames would ideally have the flight and job in them.  Doing
so will make it easier to run multiple tests on the same host install.
(Yes, I know that the ts-redhat-install script doesn't do that.)
> +    target_cmd_root($ho, <<END, 60);
> +            mkdir -p $emptydir
> +            genisoimage -o $emptyiso @isogen_base $emptydir/.
> +END
This is straight clone-and-hack from ts-redhat-install.
> +    more_prepareguest_hvm($ho,$gho, $ram_mb, $disk_mb,
> +                          OnReboot => 'preserve',
> +                          Bios => 'ovmf',
> +                          PostImageHook => sub {
> +        target_cmd_root($ho, <<END, $isotimeout);
> +            set -x
> +            umount /mnt ||:
> +            rm -rf $newiso
> +            mount -o loop -r $gho->{Rimage} /mnt
> +            mkdir $newiso
> +            cp -a /mnt/. $newiso/.
> +            umount /mnt
More clone-and-hack from ts-redhat-install.
> +            md5sum `find -follow -type f` \> md5sum.txt
This should probably use find -print0 | xargs -0.
> +sub rewrite_config_nocd () {
> +    guest_editconfig($ho, $gho, sub {
> +        if (m/^\s*disk\s*\=/ .. /\]/) {
> +            s/\Q$gho->{Rimage}\E/$emptyiso/;
> +        }
> +        s/^on_reboot.*/on_reboot='restart'/;
> +    });
> +}
> +
> +if (!$stage) {
> +    prep();
> +    start();
> +} else {
> +    $gho= selectguest($gn,$gho);
> +}
> +if ($stage<2) {
> +    guest_await_reboot($ho,$gho,2000);
> +    guest_destroy($ho,$gho);
> +}
> +
> +rewrite_config_nocd();
> +start();
> +guest_await_dhcp_tcp($gho,300);
> +guest_check_up($gho);
More clone and hack.
Thanks,
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |