Re: [libvirt] [test-API][PATCH] Add logical volume download and upload cases

2013-01-14 Thread Guannan Ren

On 01/07/2013 02:06 PM, Wayne Sun wrote:

This is for logical volume download and upload testing.
* using download and upload API under class virStream.
   they are functions act as same with download/upload APIs
   under class virStorageVol, just different entrance.
* using logical volume specified xml to create volume.
   no need to provide volume format.
* check method is the same with dir vol download/upload
   cases.

Signed-off-by: Wayne Sun g...@redhat.com
---
  cases/storage_logical_vol_upload_download.conf |  179 
  repos/storage/logical_vol_download.py  |  125 +
  repos/storage/logical_vol_upload.py|  152 
  3 files changed, 456 insertions(+), 0 deletions(-)
  create mode 100644 cases/storage_logical_vol_upload_download.conf
  create mode 100644 repos/storage/logical_vol_download.py
  create mode 100644 repos/storage/logical_vol_upload.py

diff --git a/cases/storage_logical_vol_upload_download.conf 
b/cases/storage_logical_vol_upload_download.conf
new file mode 100644
index 000..51b640e
--- /dev/null
+++ b/cases/storage_logical_vol_upload_download.conf
@@ -0,0 +1,179 @@
+storage:define_logical_pool
+poolname
+$defaultpoolname
+sourcename
+$defaultpoolname
+sourcepath
+$defaultpartition
+
+storage:build_logical_pool
+poolname
+$defaultpoolname
+
+storage:activate_pool
+poolname
+$defaultpoolname
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:destroy_pool
+poolname
+$defaultpoolname
+
+storage:delete_logical_pool
+poolname
+$defaultpoolname
+
+storage:undefine_pool
+poolname
+$defaultpoolname
diff --git a/repos/storage/logical_vol_download.py 
b/repos/storage/logical_vol_download.py
new file mode 100644
index 000..9797f36
--- /dev/null
+++ b/repos/storage/logical_vol_download.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+# logical storage volume download testing
+
+import os
+import string
+from xml.dom import minidom
+
+import libvirt
+from libvirt import libvirtError
+
+from src import sharedmod
+from utils import utils
+
+required_params = ('poolname', 'volname', 'capacity', 'offset', 'length',)
+optional_params = {'xml' : 'xmls/logical_volume.xml',
+  }
+
+def get_pool_path(poolobj):
+ get pool xml description
+
+poolxml = poolobj.XMLDesc(0)
+
+logger.debug(the xml description of pool is %s % poolxml)
+
+doc = minidom.parseString(poolxml)
+path_element = 

[libvirt] [test-API][PATCH] Add logical volume download and upload cases

2013-01-06 Thread Wayne Sun
This is for logical volume download and upload testing.
* using download and upload API under class virStream.
  they are functions act as same with download/upload APIs
  under class virStorageVol, just different entrance.
* using logical volume specified xml to create volume.
  no need to provide volume format.
* check method is the same with dir vol download/upload
  cases.

Signed-off-by: Wayne Sun g...@redhat.com
---
 cases/storage_logical_vol_upload_download.conf |  179 
 repos/storage/logical_vol_download.py  |  125 +
 repos/storage/logical_vol_upload.py|  152 
 3 files changed, 456 insertions(+), 0 deletions(-)
 create mode 100644 cases/storage_logical_vol_upload_download.conf
 create mode 100644 repos/storage/logical_vol_download.py
 create mode 100644 repos/storage/logical_vol_upload.py

diff --git a/cases/storage_logical_vol_upload_download.conf 
b/cases/storage_logical_vol_upload_download.conf
new file mode 100644
index 000..51b640e
--- /dev/null
+++ b/cases/storage_logical_vol_upload_download.conf
@@ -0,0 +1,179 @@
+storage:define_logical_pool
+poolname
+$defaultpoolname
+sourcename
+$defaultpoolname
+sourcepath
+$defaultpartition
+
+storage:build_logical_pool
+poolname
+$defaultpoolname
+
+storage:activate_pool
+poolname
+$defaultpoolname
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_download
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+0
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+0
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:logical_vol_upload
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+capacity
+50
+offset
+1048576
+length
+1048576
+clean
+
+storage:delete_logical_volume
+poolname
+$defaultpoolname
+volname
+$defaultvolumename
+
+storage:destroy_pool
+poolname
+$defaultpoolname
+
+storage:delete_logical_pool
+poolname
+$defaultpoolname
+
+storage:undefine_pool
+poolname
+$defaultpoolname
diff --git a/repos/storage/logical_vol_download.py 
b/repos/storage/logical_vol_download.py
new file mode 100644
index 000..9797f36
--- /dev/null
+++ b/repos/storage/logical_vol_download.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+# logical storage volume download testing
+
+import os
+import string
+from xml.dom import minidom
+
+import libvirt
+from libvirt import libvirtError
+
+from src import sharedmod
+from utils import utils
+
+required_params = ('poolname', 'volname', 'capacity', 'offset', 'length',)
+optional_params = {'xml' : 'xmls/logical_volume.xml',
+  }
+
+def get_pool_path(poolobj):
+ get pool xml description
+
+poolxml = poolobj.XMLDesc(0)
+
+logger.debug(the xml description of pool is %s % poolxml)
+
+doc = minidom.parseString(poolxml)
+path_element = doc.getElementsByTagName('path')[0]
+textnode =