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(a)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