[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