Re: [libvirt] [test-API][PATCH V2] Add blockjob related test functions and cases

2013-11-27 Thread Guannan Ren

On 2013年11月27日 10:56, Jincheng Miao wrote:

   * repos/domain/blkstatsflags.py
   * repos/domain/block_iotune.py
   * repos/domain/block_peek.py
   * repos/domain/block_resize.py
   * repos/domain/domain_blkio.py
   * cases/basic_blockjob.conf

   V1-V2:
   Removed diskpath params for block_resize, this hard code disk device is
   not convenient for users.

---
  cases/basic_blockjob.conf |  83 +
  repos/domain/blkstatsflags.py |  63 
  repos/domain/block_iotune.py  | 118 ++
  repos/domain/block_peek.py|  69 ++
  repos/domain/block_resize.py  |  94 
  repos/domain/domain_blkio.py  | 163 ++
  6 files changed, 590 insertions(+)
  create mode 100644 cases/basic_blockjob.conf
  create mode 100644 repos/domain/blkstatsflags.py
  create mode 100644 repos/domain/block_iotune.py
  create mode 100644 repos/domain/block_peek.py
  create mode 100644 repos/domain/block_resize.py
  create mode 100644 repos/domain/domain_blkio.py

diff --git a/cases/basic_blockjob.conf b/cases/basic_blockjob.conf
new file mode 100644
index 000..21332dc
--- /dev/null
+++ b/cases/basic_blockjob.conf
@@ -0,0 +1,83 @@
+domain:install_linux_cdrom
+guestname
+$defaultname
+guestos
+$defaultos
+guestarch
+$defaultarch
+vcpu
+$defaultvcpu
+memory
+$defaultmem
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+macaddr
+54:52:00:45:c3:8a
+
+domain:install_linux_check
+guestname
+$defaultname
+virt_type
+$defaulthv
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+10
+iops_sec
+0
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+0
+iops_sec
+1000
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_resize
+guestname
+$defaultname
+disksize
+1G
+
+domain:blkstats
+guestname
+$defaultname
+
+domain:blkstatsflags
+guestname
+$defaultname
+flags
+0
+
+domain:domain_blkinfo
+guestname
+$defaultname


The domain:domain_blkinfo testcase failed to be run.
error is: Parameter blockdev is required

Guannan

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [test-API][PATCH V2] Add blockjob related test functions and cases

2013-11-27 Thread Guannan Ren

On 2013年11月28日 13:25, Guannan Ren wrote:

On 2013年11月27日 10:56, Jincheng Miao wrote:

   * repos/domain/blkstatsflags.py
   * repos/domain/block_iotune.py
   * repos/domain/block_peek.py
   * repos/domain/block_resize.py
   * repos/domain/domain_blkio.py
   * cases/basic_blockjob.conf

   V1-V2:
   Removed diskpath params for block_resize, this hard code disk 
device is

   not convenient for users.

---
  cases/basic_blockjob.conf |  83 +
  repos/domain/blkstatsflags.py |  63 
  repos/domain/block_iotune.py  | 118 ++
  repos/domain/block_peek.py|  69 ++
  repos/domain/block_resize.py  |  94 
  repos/domain/domain_blkio.py  | 163 
++

  6 files changed, 590 insertions(+)
  create mode 100644 cases/basic_blockjob.conf
  create mode 100644 repos/domain/blkstatsflags.py
  create mode 100644 repos/domain/block_iotune.py
  create mode 100644 repos/domain/block_peek.py
  create mode 100644 repos/domain/block_resize.py
  create mode 100644 repos/domain/domain_blkio.py

diff --git a/cases/basic_blockjob.conf b/cases/basic_blockjob.conf
new file mode 100644
index 000..21332dc
--- /dev/null
+++ b/cases/basic_blockjob.conf
@@ -0,0 +1,83 @@
+domain:install_linux_cdrom
+guestname
+$defaultname
+guestos
+$defaultos
+guestarch
+$defaultarch
+vcpu
+$defaultvcpu
+memory
+$defaultmem
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+macaddr
+54:52:00:45:c3:8a
+
+domain:install_linux_check
+guestname
+$defaultname
+virt_type
+$defaulthv
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+10
+iops_sec
+0
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+0
+iops_sec
+1000
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_resize
+guestname
+$defaultname
+disksize
+1G
+
+domain:blkstats
+guestname
+$defaultname
+
+domain:blkstatsflags
+guestname
+$defaultname
+flags
+0
+
+domain:domain_blkinfo
+guestname
+$defaultname


The domain:domain_blkinfo testcase failed to be run.
error is: Parameter blockdev is require


I know the reason, the fix to the issue can be found in another patch.
One thing you should notice, every patch should not break the running of 
existed testcases.
If this patch is based on other patch. you should send the two patches 
in a set.


Guannan

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [test-API][PATCH V2] Add blockjob related test functions and cases

2013-11-27 Thread Jincheng Miao


- Original Message -
 I know the reason, the fix to the issue can be found in another patch.
 One thing you should notice, every patch should not break the running of
 existed testcases.
 If this patch is based on other patch. you should send the two patches
 in a set.

OK, I will send a V3 patch set includes these two patches.

Thanks for your review.

 
 Guannan
 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [test-API][PATCH V2] Add blockjob related test functions and cases

2013-11-26 Thread Jincheng Miao
  * repos/domain/blkstatsflags.py
  * repos/domain/block_iotune.py
  * repos/domain/block_peek.py
  * repos/domain/block_resize.py
  * repos/domain/domain_blkio.py
  * cases/basic_blockjob.conf

  V1-V2:
  Removed diskpath params for block_resize, this hard code disk device is
  not convenient for users.

---
 cases/basic_blockjob.conf |  83 +
 repos/domain/blkstatsflags.py |  63 
 repos/domain/block_iotune.py  | 118 ++
 repos/domain/block_peek.py|  69 ++
 repos/domain/block_resize.py  |  94 
 repos/domain/domain_blkio.py  | 163 ++
 6 files changed, 590 insertions(+)
 create mode 100644 cases/basic_blockjob.conf
 create mode 100644 repos/domain/blkstatsflags.py
 create mode 100644 repos/domain/block_iotune.py
 create mode 100644 repos/domain/block_peek.py
 create mode 100644 repos/domain/block_resize.py
 create mode 100644 repos/domain/domain_blkio.py

diff --git a/cases/basic_blockjob.conf b/cases/basic_blockjob.conf
new file mode 100644
index 000..21332dc
--- /dev/null
+++ b/cases/basic_blockjob.conf
@@ -0,0 +1,83 @@
+domain:install_linux_cdrom
+guestname
+$defaultname
+guestos
+$defaultos
+guestarch
+$defaultarch
+vcpu
+$defaultvcpu
+memory
+$defaultmem
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+macaddr
+54:52:00:45:c3:8a
+
+domain:install_linux_check
+guestname
+$defaultname
+virt_type
+$defaulthv
+hddriver
+$defaulthd
+nicdriver
+$defaultnic
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+10
+iops_sec
+0
+
+domain:block_iotune
+guestname
+$defaultname
+bytes_sec
+0
+iops_sec
+1000
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_peek
+guestname
+$defaultname
+
+domain:block_resize
+guestname
+$defaultname
+disksize
+1G
+
+domain:blkstats
+guestname
+$defaultname
+
+domain:blkstatsflags
+guestname
+$defaultname
+flags
+0
+
+domain:domain_blkinfo
+guestname
+$defaultname
+
+domain:domain_blkio
+guestname
+$defaultname
+weight
+500
+
+domain:undefine
+guestname
+$defaultname
+
+options cleanup=enable
diff --git a/repos/domain/blkstatsflags.py b/repos/domain/blkstatsflags.py
new file mode 100644
index 000..4c84a18
--- /dev/null
+++ b/repos/domain/blkstatsflags.py
@@ -0,0 +1,63 @@
+#!/usr/bin/evn python
+# To test domain block device statistics with flags
+
+import time
+import libxml2
+
+import libvirt
+from libvirt import libvirtError
+
+from src import sharedmod
+
+required_params = ('guestname', 'flags')
+optional_params = {}
+
+def check_guest_status(domobj):
+Check guest current status
+state = domobj.info()[0]
+if state == libvirt.VIR_DOMAIN_SHUTOFF or state == 
libvirt.VIR_DOMAIN_SHUTDOWN:
+# add check function
+return False
+else:
+return True
+
+def check_blkstats():
+Check block device statistic result
+pass
+
+def blkstatsflags(params):
+Domain block device statistic
+logger = params['logger']
+guestname = params['guestname']
+flags = int(params['flags'])
+
+conn = sharedmod.libvirtobj['conn']
+
+domobj = conn.lookupByName(guestname)
+
+# Check domain block status
+if check_guest_status(domobj):
+pass
+else:
+domobj.create()
+time.sleep(90)
+try:
+xml = domobj.XMLDesc(0)
+doc = libxml2.parseDoc(xml)
+cont = doc.xpathNewContext()
+devs = cont.xpathEval(/domain/devices/disk/target/@dev)
+
+for dev in devs:
+path = dev.content
+blkstats = domobj.blockStatsFlags(path, flags)
+# check_blkstats()
+logger.debug(blkstats)
+for entry in blkstats.keys():
+logger.info(%s %s %s %(path, entry, blkstats[entry]))
+
+except libvirtError, e:
+logger.error(API error message: %s, error code is %s
+ % (e.message, e.get_error_code()))
+return 1
+
+return 0
diff --git a/repos/domain/block_iotune.py b/repos/domain/block_iotune.py
new file mode 100644
index 000..26e4823
--- /dev/null
+++ b/repos/domain/block_iotune.py
@@ -0,0 +1,118 @@
+#!/usr/bin/evn python
+# To test domain block device iotune
+
+import time
+import libxml2
+import libvirt
+from libvirt import libvirtError
+
+from src import sharedmod
+
+required_params = ('guestname', 'bytes_sec', 'iops_sec')
+optional_params = {}
+
+def check_guest_status(domobj):
+Check guest current status
+state = domobj.info()[0]
+if state == libvirt.VIR_DOMAIN_SHUTOFF or \
+state == libvirt.VIR_DOMAIN_SHUTDOWN:
+# add check function
+