summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Safranek <jsafrane@redhat.com>2013-04-25 10:58:24 +0200
committerJan Safranek <jsafrane@redhat.com>2013-04-25 10:58:24 +0200
commita10370b13e73184080146ead6899726f78423c43 (patch)
tree1050716cb883e6ab416b7669b272d7d51eb1bed4
parent4f93f9ff0181d78edb0ecd6f81e9a41d26c448b8 (diff)
downloadopenlmi-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.py33
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])