[libvirt] [test-API][PATCH v2] Add and update functions in domainAPI

Osier Yang jyang at redhat.com
Fri Dec 30 10:24:11 UTC 2011


On 2011年12月30日 17:56, Wayne Sun wrote:
>    * add 9 new block related functions
>      block_pull(self, domname, device, bandwidth = 0, flag = 0)
>      block_resize(self, domname, device, size, flag = 0)
>      block_job_abort(self, domname, device, flag = 0)
>      block_job_set_speed(self, domname, device, bandwidth, flag = 0)
>      get_block_job_info(self, domname, device, flag = 0)
>      get_blkio_parameters(self, domname, flag)
>      get_block_io_tune(self, domname, device, flag)
>      set_blkio_parameters(self, domname, params, flag)
>      set_block_io_tune(self, domname, device, params, flag)
>
>      2 bugs related to parameters for 4 functions(get_blkio_parameters,
>      get_block_io_tune, set_blkio_parameters and set_block_io_tune),
>      it is considered in this patch, it could be updated later anyway.
>
>    * Add 2 memory parameters function
>      get_memory_parameters(self, domname, flag)
>      set_memory_parameters(self, domname, params, flag)
>
>      For set_memory_parameters(), the 'params' arguments should be a
>      dictionary contains selectable keys: hard_limit, soft_limit,
>      swap_hard_limit.
>      e.g.
>      {'hard_limit':10240, 'soft_limit':100000, 'swap_hard_limit':102400}
>
>    * Fix problems of 2 functions
>      memory_peek(self, domname)
>      set_sched_params_flags(self, domname, params, flags)
> ---
>   lib/domainAPI.py |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
>   1 files changed, 101 insertions(+), 2 deletions(-)
>
> diff --git a/lib/domainAPI.py b/lib/domainAPI.py
> index a6efab7..91f2ba3 100644
> --- a/lib/domainAPI.py
> +++ b/lib/domainAPI.py
> @@ -546,7 +546,7 @@ class DomainAPI(object):
>       def set_sched_params_flags(self, domname, params, flags):
>           try:
>               dom_obj = self.get_domain_by_name(domname)
> -            retval = dom_obj.setSchedulerParameters(params, flags)
> +            retval = dom_obj.setSchedulerParametersFlags(params, flags)
>               return retval
>           except libvirt.libvirtError, e:
>               message = e.get_error_message()
> @@ -581,6 +581,105 @@ class DomainAPI(object):
>               code = e.get_error_code()
>               raise exception.LibvirtAPI(message, code)
>
> +    def block_pull(self, domname, device, bandwidth = 0, flag = 0):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockPull(device, bandwidth, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def block_resize(self, domname, device, size, flag = 0):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockResize(device, size, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def block_job_abort(self, domname, device, flag = 0):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockJobAbort(device, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def block_job_set_speed(self, domname, device, bandwidth, flag = 0):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockJobSetSpeed(device, bandwidth, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def get_block_job_info(self, domname, device, flag = 0):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockJobInfo(device, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def get_blkio_parameters(self, domname, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blkioParameters(flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def get_block_io_tune(self, domname, device, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.blockIoTune(device, params, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def set_blkio_parameters(self, domname, params, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.setBlkioParameters(params, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def set_block_io_tune(self, domname, device, params, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.setBlockIoTune(device, params, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def get_memory_parameters(self, domname, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.memoryParameters(flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
> +    def set_memory_parameters(self, domname, params, flag):
> +        try:
> +            dom_obj = self.get_domain_by_name(domname)
> +            return dom_obj.setMemoryParameters(params, flag)
> +        except libvirt.libvirtError, e:
> +            message = e.get_error_message()
> +            code = e.get_error_code()
> +            raise exception.LibvirtAPI(message, code)
> +
>       def memory_stats(self, domname):
>           try:
>               dom_obj = self.get_domain_by_name(domname)
> @@ -593,7 +692,7 @@ class DomainAPI(object):
>       def memory_peek(self, domname, start, size, buffer, flag = 0):
>           try:
>               dom_obj = self.get_domain_by_name(domname)
> -            return dom_obj.blockPeek(start, size, buffer, flag)
> +            return dom_obj.memoryPeek(start, size, buffer, flag)
>           except libvirt.libvirtError, e:
>               message = e.get_error_message()
>               code = e.get_error_code()

ACK.




More information about the libvir-list mailing list