1.With machine option,user can specify macine type to emulate. For example : define in xml file , machine='pc' or machine='pseries'. 2.Fix some indent issue in ksiso.sh. Signed-off-by: Qing Lin <qinglbj@linux.vnet.ibm.com> --- cases/consumption_cpu_topology.conf | 2 + cases/consumption_domain_nfs_start.conf | 2 + cases/consumption_eventhandler.conf | 2 + cases/consumption_libvirtd.conf | 2 + cases/consumption_ownership_test.conf | 2 + cases/domain_linux_net_inst.conf | 2 + cases/linux_domain.conf | 6 ++ cases/snapshot.conf | 2 + cases/windows_domain.conf | 4 ++ global.cfg | 2 + repos/domain/create.py | 2 +- repos/domain/define.py | 2 +- repos/domain/install_linux_cdrom.py | 2 +- repos/domain/install_linux_net.py | 2 +- repos/domain/install_windows_cdrom.py | 2 +- repos/domain/xmls/kvm_guest_define.xml | 2 +- .../domain/xmls/kvm_linux_guest_install_cdrom.xml | 2 +- repos/domain/xmls/kvm_linux_guest_install_net.xml | 2 +- .../xmls/kvm_windows_guest_install_cdrom.xml | 2 +- .../multiple_thread_block_on_domain_create.py | 2 +- repos/regression/xmls/domain.xml | 2 +- utils/ksiso.sh | 51 ++++++++++--------- 22 files changed, 64 insertions(+), 35 deletions(-) diff --git a/cases/consumption_cpu_topology.conf b/cases/consumption_cpu_topology.conf index c02ef2a..3849808 100644 --- a/cases/consumption_cpu_topology.conf +++ b/cases/consumption_cpu_topology.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/consumption_domain_nfs_start.conf b/cases/consumption_domain_nfs_start.conf index 13b2449..3d70764 100644 --- a/cases/consumption_domain_nfs_start.conf +++ b/cases/consumption_domain_nfs_start.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/consumption_eventhandler.conf b/cases/consumption_eventhandler.conf index 07bee07..6843dc9 100644 --- a/cases/consumption_eventhandler.conf +++ b/cases/consumption_eventhandler.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/consumption_libvirtd.conf b/cases/consumption_libvirtd.conf index b0dfff9..6012e99 100644 --- a/cases/consumption_libvirtd.conf +++ b/cases/consumption_libvirtd.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/consumption_ownership_test.conf b/cases/consumption_ownership_test.conf index a906b39..ead4002 100644 --- a/cases/consumption_ownership_test.conf +++ b/cases/consumption_ownership_test.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/domain_linux_net_inst.conf b/cases/domain_linux_net_inst.conf index 7c97818..e2fb55c 100644 --- a/cases/domain_linux_net_inst.conf +++ b/cases/domain_linux_net_inst.conf @@ -5,6 +5,8 @@ domain:install_linux_net $defaultos guestarch $defaultarch + guestmachine + $defaultmachine netmethod http vcpu diff --git a/cases/linux_domain.conf b/cases/linux_domain.conf index e7d6bac..5296212 100644 --- a/cases/linux_domain.conf +++ b/cases/linux_domain.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory @@ -45,6 +47,10 @@ domain:undefine domain:define guestname $defaultname + guestarch + $defaultarch + guestmachine + $defaultmachine diskpath /var/lib/libvirt/images/libvirt-test-api vcpu diff --git a/cases/snapshot.conf b/cases/snapshot.conf index 4aac68b..d957310 100644 --- a/cases/snapshot.conf +++ b/cases/snapshot.conf @@ -5,6 +5,8 @@ domain:install_linux_cdrom $defaultos guestarch $defaultarch + guestmachine + $defaultmachine vcpu $defaultvcpu memory diff --git a/cases/windows_domain.conf b/cases/windows_domain.conf index 68396a0..e89cdd6 100644 --- a/cases/windows_domain.conf +++ b/cases/windows_domain.conf @@ -33,6 +33,10 @@ domain:undefine domain:define guestname $defaultname + guestarch + $defaultarch + guestmachine + $defaultmachine virt_type $defaulthv diff --git a/global.cfg b/global.cfg index 9e28614..d4d78b9 100644 --- a/global.cfg +++ b/global.cfg @@ -130,6 +130,8 @@ defaultname = libvirt_test_api defaultos = rhel6u2 # default architecture to use for installing a new guest defaultarch = x86_64 +# default machine type to use for installing a new guest +defaultmachine = pc # default the number of vcpu to use for defining or installing a guest defaultvcpu = 1 # default the memory size(kilobytes) to use for defining or installing a guest diff --git a/repos/domain/create.py b/repos/domain/create.py index cfe0efd..b181066 100644 --- a/repos/domain/create.py +++ b/repos/domain/create.py @@ -15,7 +15,7 @@ from utils import utils NONE = 0 START_PAUSED = 1 -required_params = ('guestname', 'diskpath',) +required_params = ('guestname', 'guestarch', 'guestmachine', 'diskpath',) optional_params = {'memory': 1048576, 'vcpu': 1, 'hddriver' : 'virtio', diff --git a/repos/domain/define.py b/repos/domain/define.py index 42dea86..8018d80 100644 --- a/repos/domain/define.py +++ b/repos/domain/define.py @@ -13,7 +13,7 @@ from libvirt import libvirtError from src import sharedmod from utils import utils -required_params = ('guestname', 'diskpath',) +required_params = ('guestname', 'guestarch', 'guestmachine', 'diskpath',) optional_params = {'memory': 1048576, 'vcpu': 1, 'hddriver' : 'virtio', diff --git a/repos/domain/install_linux_cdrom.py b/repos/domain/install_linux_cdrom.py index 9bbd6da..9c02eb2 100644 --- a/repos/domain/install_linux_cdrom.py +++ b/repos/domain/install_linux_cdrom.py @@ -16,7 +16,7 @@ from src import sharedmod from src import env_parser from utils import utils -required_params = ('guestname', 'guestos', 'guestarch',) +required_params = ('guestname', 'guestos', 'guestarch', 'guestmachine',) optional_params = { 'memory': 1048576, 'vcpu': 1, diff --git a/repos/domain/install_linux_net.py b/repos/domain/install_linux_net.py index d976ce1..33fc60c 100644 --- a/repos/domain/install_linux_net.py +++ b/repos/domain/install_linux_net.py @@ -16,7 +16,7 @@ from src import sharedmod from src import env_parser from utils import utils -required_params = ('guestname', 'guestos', 'guestarch',) +required_params = ('guestname', 'guestos', 'guestarch', 'guestmachine',) optional_params = {'memory': 1048576, 'vcpu': 1, 'disksize' : 10, diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py index 3104bcd..ba0a503 100644 --- a/repos/domain/install_windows_cdrom.py +++ b/repos/domain/install_windows_cdrom.py @@ -24,7 +24,7 @@ VM_UNDEFINE = "virsh undefine %s" FLOOPY_IMG = "/tmp/floppy.img" HOME_PATH = os.getcwd() -required_params = ('guestname', 'guestos', 'guestarch',) +required_params = ('guestname', 'guestos', 'guestarch', 'guestmachine',) optional_params = {'memory': 1048576, 'vcpu': 1, 'disksize' : 20, diff --git a/repos/domain/xmls/kvm_guest_define.xml b/repos/domain/xmls/kvm_guest_define.xml index 385ec66..ae533c2 100644 --- a/repos/domain/xmls/kvm_guest_define.xml +++ b/repos/domain/xmls/kvm_guest_define.xml @@ -5,7 +5,7 @@ <currentMemory unit='KiB'>MEMORY</currentMemory> <vcpu>VCPU</vcpu> <os> - <type arch='x86_64' machine='pc-0.14'>hvm</type> + <type arch="GUESTARCH" machine="GUESTMACHINE">hvm</type> <boot dev='hd'/> </os> <features> diff --git a/repos/domain/xmls/kvm_linux_guest_install_cdrom.xml b/repos/domain/xmls/kvm_linux_guest_install_cdrom.xml index 84aed75..cb59e76 100644 --- a/repos/domain/xmls/kvm_linux_guest_install_cdrom.xml +++ b/repos/domain/xmls/kvm_linux_guest_install_cdrom.xml @@ -4,7 +4,7 @@ <memory>MEMORY</memory> <vcpu>VCPU</vcpu> <os> - <type>hvm</type> + <type machine="GUESTMACHINE">hvm</type> <boot dev="cdrom"/> </os> <features> diff --git a/repos/domain/xmls/kvm_linux_guest_install_net.xml b/repos/domain/xmls/kvm_linux_guest_install_net.xml index 7d5cb45..c4a7de7 100644 --- a/repos/domain/xmls/kvm_linux_guest_install_net.xml +++ b/repos/domain/xmls/kvm_linux_guest_install_net.xml @@ -3,7 +3,7 @@ <memory>MEMORY</memory> <vcpu>VCPU</vcpu> <os> - <type>hvm</type> + <type machine="GUESTMACHINE">hvm</type> <kernel>KERNEL</kernel> <initrd>INITRD</initrd> <cmdline>ks=KS</cmdline> diff --git a/repos/domain/xmls/kvm_windows_guest_install_cdrom.xml b/repos/domain/xmls/kvm_windows_guest_install_cdrom.xml index 759a386..62bd002 100644 --- a/repos/domain/xmls/kvm_windows_guest_install_cdrom.xml +++ b/repos/domain/xmls/kvm_windows_guest_install_cdrom.xml @@ -4,7 +4,7 @@ <memory>MEMORY</memory> <vcpu>VCPU</vcpu> <os> - <type>hvm</type> + <type machine="GUESTMACHINE">hvm</type> <boot dev="cdrom"/> </os> <features> diff --git a/repos/regression/multiple_thread_block_on_domain_create.py b/repos/regression/multiple_thread_block_on_domain_create.py index 571621f..b19951f 100644 --- a/repos/regression/multiple_thread_block_on_domain_create.py +++ b/repos/regression/multiple_thread_block_on_domain_create.py @@ -17,7 +17,7 @@ from src import sharedmod from utils import utils from src import env_parser -required_params = ('guestos', 'guestarch', 'guestnum', 'uri') +required_params = ('guestos', 'guestarch', 'guestmachine', 'guestnum', 'uri') optional_params = {'xml' : 'xmls/domain.xml', } diff --git a/repos/regression/xmls/domain.xml b/repos/regression/xmls/domain.xml index 407f086..e70492d 100644 --- a/repos/regression/xmls/domain.xml +++ b/repos/regression/xmls/domain.xml @@ -3,7 +3,7 @@ <memory>1048576</memory> <vcpu>1</vcpu> <os> - <type>hvm</type> + <type machine="GUESTMACHINE">hvm</type> <kernel>/var/lib/libvirt/boot/vmlinuz</kernel> <initrd>/var/lib/libvirt/boot/initrd.img</initrd> <cmdline>KS</cmdline> diff --git a/utils/ksiso.sh b/utils/ksiso.sh index a431658..8cb3540 100755 --- a/utils/ksiso.sh +++ b/utils/ksiso.sh @@ -26,37 +26,40 @@ umount $boot_iso_dir vlmid=`isoinfo -d -i $boot_iso |grep 'Volume id:'` vlmid=${vlmid#"Volume id: "} if [ -n "`echo $vlmid|grep ppc`" ];then - echo "- edit yaboot.conf and add kickstart entry" - WORKING_ISO="${custom_iso_dir}/etc/yaboot.conf" - # change timeout and add kickstart entry - TIMEOUT_LINE=`cat $WORKING_ISO | grep timeout | head -1` - APPEND_LINE=`cat $WORKING_ISO | grep append | head -1` - cat $WORKING_ISO | sed "s#${TIMEOUT_LINE}#timeout=5#" | sed "s#${APPEND_LINE}#append= \"root=live:CDLABEL=$vlmid ks=cdrom:/$kscfg \"#"> isocfgtmp - mv -f isocfgtmp $WORKING_ISO - cd $custom_iso_dir - mkisofs -R -V "$vlmid" -sysid PPC -chrp-boot -U -prep-boot ppc/chrp/yaboot -hfs-bless ppc/mac -no-desktop -allow-multidot -volset 4 -volset-size 1 -volset-seqno 1 -hfs-volid 4 -o $cwd/$custom_iso . + echo "- copy kickstart to custom work directory" + cp $kscfg $custom_iso_dir + + echo "- edit yaboot.conf and add kickstart entry" + WORKING_ISO="${custom_iso_dir}/etc/yaboot.conf" + # change timeout and add kickstart entry + TIMEOUT_LINE=`cat $WORKING_ISO | grep timeout | head -1` + APPEND_LINE=`cat $WORKING_ISO | grep append | head -1` + cat $WORKING_ISO | sed "s#${TIMEOUT_LINE}#timeout=5#" | sed "s#${APPEND_LINE}#append= \"root=live:CDLABEL=$vlmid ks=cdrom:/$kscfg \"#"> isocfgtmp + mv -f isocfgtmp $WORKING_ISO + cd $custom_iso_dir + mkisofs -R -V "$vlmid" -sysid PPC -chrp-boot -U -prep-boot ppc/chrp/yaboot -hfs-bless ppc/mac -no-desktop -allow-multidot -volset 4 -volset-size 1 -volset-seqno 1 -hfs-volid 4 -o $cwd/$custom_iso . else - echo "- copy kickstart to custom work directory" - cp $kscfg $custom_iso_dir + echo "- copy kickstart to custom work directory" + cp $kscfg $custom_iso_dir - echo "- edit isolinux.cfg and add kickstart entry" - WORKING_ISO="${custom_iso_dir}/isolinux/isolinux.cfg" + echo "- edit isolinux.cfg and add kickstart entry" + WORKING_ISO="${custom_iso_dir}/isolinux/isolinux.cfg" - echo "label custom_ks - kernel vmlinuz $kernel_args - append initrd=initrd.img ks=cdrom:/$kscfg ramdisk_size=20000">> $WORKING_ISO + echo "label custom_ks + kernel vmlinuz $kernel_args + append initrd=initrd.img ks=cdrom:/$kscfg ramdisk_size=20000">> $WORKING_ISO - # change default boot target and timeout - DEFAULT_LINE=`cat $WORKING_ISO | grep default | head -1` - TIMEOUT_LINE=`cat $WORKING_ISO | grep timeout | head -1` + # change default boot target and timeout + DEFAULT_LINE=`cat $WORKING_ISO | grep default | head -1` + TIMEOUT_LINE=`cat $WORKING_ISO | grep timeout | head -1` - cat $WORKING_ISO | sed "s/${DEFAULT_LINE}/default custom_ks/" | sed "s/${TIMEOUT_LINE}/timeout 5/"> isocfgtmp + cat $WORKING_ISO | sed "s/${DEFAULT_LINE}/default custom_ks/" | sed "s/${TIMEOUT_LINE}/timeout 5/"> isocfgtmp - mv -f isocfgtmp $WORKING_ISO + mv -f isocfgtmp $WORKING_ISO - # cd to custom_iso_dir, otherwise mkisofs seems to bomb... - cd $custom_iso_dir - mkisofs -R -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o $cwd/$custom_iso . + # cd to custom_iso_dir, otherwise mkisofs seems to bomb... + cd $custom_iso_dir + mkisofs -R -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o $cwd/$custom_iso . fi EXITVAL=$? if [ $EXITVAL -ne '0' ] ; then-- 1.7.4.1