[libvirt] [PATCH] [libvirt-test-API] Add "machine" option to supprot choose machine type in more architectures

Lin Qing qinglbj at linux.vnet.ibm.com
Tue May 8 07:45:02 UTC 2012


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 at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120508/d03c8941/attachment-0001.htm>


More information about the libvir-list mailing list