Greetings,
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 test.log 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 test.log ./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.
Thanks Liam
autoqa-devel@lists.fedorahosted.org