diff options
author | Jan Safranek <jsafrane@redhat.com> | 2013-04-25 10:58:24 +0200 |
---|---|---|
committer | Jan Safranek <jsafrane@redhat.com> | 2013-04-25 10:58:24 +0200 |
commit | a10370b13e73184080146ead6899726f78423c43 (patch) | |
tree | 1050716cb883e6ab416b7669b272d7d51eb1bed4 | |
parent | 4f93f9ff0181d78edb0ecd6f81e9a41d26c448b8 (diff) | |
download | openlmi-providers-a10370b13e73184080146ead6899726f78423c43.tar.gz openlmi-providers-a10370b13e73184080146ead6899726f78423c43.tar.xz openlmi-providers-a10370b13e73184080146ead6899726f78423c43.zip |
Fixed LMI_ConcreteJob.GetError and .GetErrors to return correct CIM instance.
We should return CIMInstance instead of CIMError (which has nothing to do with
CIM_Error).
-rw-r--r-- | src/python/openlmi/common/JobManager.py | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/python/openlmi/common/JobManager.py b/src/python/openlmi/common/JobManager.py index 5ed7830..f2d0c71 100644 --- a/src/python/openlmi/common/JobManager.py +++ b/src/python/openlmi/common/JobManager.py @@ -495,6 +495,23 @@ class Job(object): return inst @cmpi_logging.trace_method + def get_cim_error(self): + """ + Return job error as CIMInstance of CIM_Error. + :returns: CIMInstance of CIM_Error + """ + path = pywbem.CIMInstanceName( + classname="CIM_Error", + host=socket.gethostname(), + namespace=self.job_manager.namespace) + err = pywbem.CIMInstance( + classname="CIM_Error", + path=path) + err['CIMStatusCode'] = pywbem.Uint32(self.error[0]) + err['Message'] = self.error[1] + return err + + @cmpi_logging.trace_method def get_post_call(self): """ Return indication that describes the post-execution values of the @@ -524,15 +541,7 @@ class Job(object): if self.return_value is not None: inst['ReturnValue'] = str(self.return_value) if self.error is not None: - path = pywbem.CIMInstanceName( - classname="CIM_Error", - host=socket.gethostname(), - namespace=self.job_manager.namespace) - err = pywbem.CIMInstance( - classname="CIM_Error", - path=path) - err['CIMStatusCode'] = pywbem.Uint32(self.error[0]) - err['Message'] = self.error[1] + err = self.get_cim_error() inst['Error'] = [err, ] return inst @@ -1139,7 +1148,8 @@ class LMI_ConcreteJob(CIMProvider2): if job.error is None: errors = [] else: - errors = [job.error, ] + err = job.get_cim_error() + errors = [err, ] out_params = [ pywbem.CIMParameter( name='errors', @@ -1283,9 +1293,10 @@ class LMI_ConcreteJob(CIMProvider2): type='instance', is_array=False) else: + err = job.get_cim_error() error = pywbem.CIMParameter( name='error', - value=job.error, + value=err, type='instance') rval = self.Values.GetError.Success return (rval, [error]) |