[fedora-virt] Status/issues of auto installation

Li Ming lili at redhat.com
Thu Feb 11 04:43:22 UTC 2010


     I am writing the following to tell you what the progress of auto 
install and what issues we are facing now. I have developed a script 
which can do DVD+ kickstart auto install,you can download and run it:

# git clone git://git.fedorahosted.org/autoqa.git
# cd autoqa/tests/anaconda
# you need to install libguestfs, group install 
Virtualization,python-virtinst ,etc... first
# mount -o loop DVDImage.iso /InstallTree

Then you can run it like this:
1. http/ftp... kickstart file:
./dvd_install.py -k http://server/ks.cfg -a i386 -d /InstallTree |tee 
2. local kickstart file:
./dvd_install.py -k /path/to/ks.cfg -a i386 -d /InstallTree |tee test.log
3. remote install tree:
./dvd_install.py -k /path/to/ks.cfg -a i386 -d http://install/tree |tee 
./dvd_install.py -k http://server/ks.cfg -a i386 -d ftp://install/tree 
|tee test.log

but we prefer the second one:
2. local kickstart file:
./dvd_install.py -k /path/to/ks.cfg -a i386 -d /InstallTree |tee test.log
because we want to imitate a true local DVD install, but this test still 
has an issue: In this test,the virt-install --location still will 
activate network which request a DHCP server, this will be a big problem 
for testers who are not in DHCP environment. If use virt-install --cdrom 
will get what we want: imitate true local DVD install,but the ks 
parameter can not be passed to grub in this case. If try to solve these 
problems, we have such options:

# uncompress the ISO,then update the syslinux kernel args,then build ISO 
again,my concern is this will consume big resource and it will waste 
lots of time before each test.

# Guys from virt list give us a solution:
call qemu directly:
qemu -name 'vm1' -monitor 
unix:/tmp/monitor-20100207-221920-Q1pS,server,nowait -drive 
file=/var/lib/libvirt/images/fedoratest.img -drive 
file=/var/lib/libvirt/images/ksdata.img -net nic,vlan=0 -net user,vlan=0 
-m 512 -smp 1 -drive 
file=/nfs/iso/f12-ga/Fedora-12-i386-DVD.iso,index=2,media=cdrom -fda 
/var/lib/libvirt/images/ksdata.img -tftp /var/lib/tftpboot -boot d 
-bootp /pxelinux.0 -boot n -redir tcp:5000::22
This method works,the network was not activated,because the pxe install 
can help download boot file and start system,this is before the system 
can active network.But this method needs to copy the pxelinux.0 to tftp 
server root directory,if the tester did not install syslinux, the 
install will fail,I am not sure whether this will demand that the host 
and the guest VM have the same system. because pxelinux.0 is located in 
host system. The vmlinuz and initrd.img also have to be copied from iso 
to tftp directory and the default config file need to be created. I have 
some concerns about this method:
    1. The qemu is very slow, I tested the whole installation,even the 
hardware is very good, the install speed is still very slow.
    2. The install needs to copy a pxelinux.0 file to tftp server root 
directory, the pxelinux.0 was provided by syslinux which has to be 
installed on host,that means the host and the guest should install the 
same system? if we want to test f13, the host system has to be f13? If 
it's true, we have to update the syslinux every time.
    3. the virt-install --location can handle the remote installation, 
if we want to support remote install in the future, virt-install --cdrom 
is not a good choice

# James Laska provided a method: use dogtail to pass args to 
virt-viewer.It will append the supplied boot arguments to the guest and 
initiate a kickstart DVD install. I still did not get time to try it 
till now.


More information about the virt mailing list