[libvirt] [test-API][PATCH] Add new APIs and fix problems in connectAPI
Guannan Ren
gren at redhat.com
Wed Feb 8 10:08:59 UTC 2012
On 02/08/2012 04:28 PM, Wayne Sun wrote:
> * add 8 new APIs
> get_sys_info(self, flag = 0)
> get_memory_stats(self, cellNum, flag = 0)
> get_cpu_stats(self, cpuNum, flag = 0)
> is_alive(self)
> change_begin(self, flag = 0)
> change_commit(self, flag = 0)
> change_rollback(self, flag = 0)
> suspend_for_duration(self, target, duration, flag = 0)
>
> * remove outdated ref(self, uri) function
>
> * fix typo in following functions
> migrate(self, domain, flags, dname, uri, bandwidth)
> networkLookupByUUID(self, uuid)
> numOfDefinedDomains(self)
> numOfDomains(self)
> nwfilterLookupByUUID(self, uuid)
> ---
> lib/connectAPI.py | 83 ++++++++++++++++++++++++++++++++++++++++++++++-------
> 1 files changed, 72 insertions(+), 11 deletions(-)
>
> diff --git a/lib/connectAPI.py b/lib/connectAPI.py
> index 9f2b728..87b0a59 100644
> --- a/lib/connectAPI.py
> +++ b/lib/connectAPI.py
> @@ -105,6 +105,15 @@ class ConnectAPI(object):
> code = e.get_error_code()
> raise exception.LibvirtAPI(message, code)
>
> + def get_sys_info(self, flag = 0):
> + try:
> + sysinfo = self.conn.getSysinfo(flag)
> + return sysinfo
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> def get_type(self):
> try:
> type = self.conn.getType()
> @@ -123,19 +132,18 @@ class ConnectAPI(object):
> code = e.get_error_code()
> raise exception.LibvirtAPI(message, code)
>
> - def ref(self, uri):
> + def get_cells_free_memory(self, startCell, maxCells):
> try:
> - refer = self.conn.ref()
> - return refer
> + cfreemem = self.conn.getCellsFreeMemory(startCell, maxCells)
> + return cfreemem
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> raise exception.LibvirtAPI(message, code)
>
> - def get_cells_free_memory(self, startCell, maxCells):
> + def get_memory_stats(self, cellNum, flag = 0):
> try:
> - cfreemem = self.conn.getCellsFreeMemory(startCell, maxCells)
> - return cfreemem
> + return self.conn.getMemoryStats(cellNum, flag)
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -158,6 +166,14 @@ class ConnectAPI(object):
> code = e.get_error_code()
> raise exception.LibvirtAPI(message, code)
>
> + def get_cpu_stats(self, cpuNum, flag = 0):
> + try:
> + return self.conn.getCPUStats(cpuNum, flag)
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> def compare_cpu(self, xmlDesc, flag = 0):
> try:
> return self.conn.compareCPU(xmlDesc, flag)
> @@ -208,6 +224,14 @@ class ConnectAPI(object):
> code = e.get_error_code()
> raise exception.LibvirtAPI(message, code)
>
> + def is_alive(self):
> + try:
> + return self.conn.isAlive()
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> def isEncrypted(self):
> try:
> return self.conn.isEncrypted()
> @@ -307,7 +331,7 @@ class ConnectAPI(object):
>
> def migrate(self, domain, flags, dname, uri, bandwidth):
> try:
> - return self.migrate(self, domain, flags, dname, uri, bandwidth)
> + return self.conn.migrate(domain, flags, dname, uri, bandwidth)
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -315,7 +339,7 @@ class ConnectAPI(object):
>
> def networkLookupByUUID(self, uuid):
> try:
> - return self.networkLookupByUUID(self, uuid)
> + return self.conn.networkLookupByUUID(uuid)
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -323,7 +347,7 @@ class ConnectAPI(object):
>
> def numOfDefinedDomains(self):
> try:
> - return self.numOfDefinedDomains(self)
> + return self.conn.numOfDefinedDomains()
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -331,7 +355,7 @@ class ConnectAPI(object):
>
> def numOfDomains(self):
> try:
> - return self.numOfDomains(self)
> + return self.conn.numOfDomains()
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -339,7 +363,39 @@ class ConnectAPI(object):
>
> def nwfilterLookupByUUID(self, uuid):
> try:
> - return self.nwfilterLookupByUUID(self, uuid)
> + return self.conn.nwfilterLookupByUUID(uuid)
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> + def change_begin(self, flag = 0):
> + try:
> + return self.conn.changeBegin(flag)
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> + def change_commit(self, flag = 0):
> + try:
> + return self.conn.changeCommit(flag)
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> + def change_rollback(self, flag = 0):
> + try:
> + return self.conn.changeRollback(flag)
> + except libvirt.libvirtError, e:
> + message = e.get_error_message()
> + code = e.get_error_code()
> + raise exception.LibvirtAPI(message, code)
> +
> + def suspend_for_duration(self, target, duration, flag = 0):
> + try:
> + return self.conn.suspendForDuration(target, duration, flag)
> except libvirt.libvirtError, e:
> message = e.get_error_message()
> code = e.get_error_code()
> @@ -348,3 +404,8 @@ class ConnectAPI(object):
> VIR_CRED_AUTHNAME = libvirt.VIR_CRED_AUTHNAME
> VIR_CRED_PASSPHRASE = libvirt.VIR_CRED_PASSPHRASE
>
> +# virNodeSuspendTarget
> +VIR_NODE_SUSPEND_TARGET_MEM = 0
> +VIR_NODE_SUSPEND_TARGET_DISK = 1
> +VIR_NODE_SUSPEND_TARGET_HYBRID = 2
> +VIR_NODE_SUSPEND_TARGET_LAST = 3
ACK, thanks.
More information about the libvir-list
mailing list