summaryrefslogtreecommitdiffstats
path: root/src/software/openlmi/software/LMI_SoftwarePackageChecks.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/software/openlmi/software/LMI_SoftwarePackageChecks.py')
-rw-r--r--src/software/openlmi/software/LMI_SoftwarePackageChecks.py63
1 files changed, 21 insertions, 42 deletions
diff --git a/src/software/openlmi/software/LMI_SoftwarePackageChecks.py b/src/software/openlmi/software/LMI_SoftwarePackageChecks.py
index a2f798b..facf90e 100644
--- a/src/software/openlmi/software/LMI_SoftwarePackageChecks.py
+++ b/src/software/openlmi/software/LMI_SoftwarePackageChecks.py
@@ -26,12 +26,12 @@ Instruments the CIM class LMI_SoftwarePackageChecks
"""
import pywbem
+import yum
from pywbem.cim_provider2 import CIMProvider2
-from openlmi.software.LMI_SoftwareFileCheck import filecheck2model
-from openlmi.software.LMI_SoftwarePackage import pkg2model
-from openlmi.software.util.common import *
+from openlmi.software.util import common
+from openlmi.software.util.common import (SoftwarePackage, SoftwareFileCheck)
-class LMI_SoftwarePackageChecks(CIMProvider2):
+class LMI_SoftwarePackageChecks(CIMProvider2): #pylint: disable=R0904
"""Instrument the CIM class LMI_SoftwarePackageChecks
This association ties a SoftwareElement to a specific Check to validate
@@ -81,9 +81,11 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND,
"Missing Element property.")
vpkg = SoftwareFileCheck.object_path2yumcheck(env, model['Check'])
- model['Check'] = filecheck2model(vpkg, model['Check']['Name'],
+ model['Check'] = SoftwareFileCheck.filecheck2model(
+ vpkg, model['Check']['Name'],
env, keys_only=True)
- model['Element'] = pkg2model(env, vpkg.po, keys_only=True)
+ model['Element'] = SoftwarePackage.pkg2model(
+ env, vpkg.po, keys_only=True)
return model
def enum_instances(self, env, model, keys_only):
@@ -112,26 +114,8 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
logger = env.get_logger()
logger.log_debug('Entering %s.enum_instances()' \
% self.__class__.__name__)
-
- # Prime model.path with knowledge of the keys, so key values on
- # the CIMInstanceName (model.path) will automatically be set when
- # we set property values on the model.
- model.path.update({'Check': None, 'Element': None})
-
- while False: # TODO more instances?
- # TODO fetch system resource
- # Key properties
- #model['Check'] = pywbem.CIMInstanceName(classname='LMI_SoftwareFileCheck', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_SoftwareFileCheck', ...))
- #model['Element'] = pywbem.CIMInstanceName(classname='LMI_SoftwarePackage', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_SoftwarePackage', ...))
- if keys_only:
- yield model
- else:
- try:
- yield self.get_instance(env, model)
- except pywbem.CIMError, (num, msg):
- if num not in (pywbem.CIM_ERR_NOT_FOUND,
- pywbem.CIM_ERR_ACCESS_DENIED):
- raise
+ raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED,
+ "Enumeration of instances is not supported.")
def set_instance(self, env, instance, modify_existing):
"""Return a newly created or modified instance.
@@ -163,9 +147,7 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
logger = env.get_logger()
logger.log_debug('Entering %s.set_instance()' \
% self.__class__.__name__)
- # TODO create or modify the instance
- raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED) # Remove to implement
- return instance
+ raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED)
def delete_instance(self, env, instance_name):
"""Delete an instance.
@@ -192,9 +174,7 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
logger = env.get_logger()
logger.log_debug('Entering %s.delete_instance()' \
% self.__class__.__name__)
-
- # TODO delete the resource
- raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED) # Remove to implement
+ raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED)
def references(self, env, object_name, model, result_class_name, role,
result_role, keys_only):
@@ -258,16 +238,16 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
logger = env.get_logger()
logger.log_debug('Entering %s.references()' \
% self.__class__.__name__)
- ch = env.get_cimom_handle()
+ cimhandle = env.get_cimom_handle()
# Prime model.path with knowledge of the keys, so key values on
# the CIMInstanceName (model.path) will automatically be set when
# we set property values on the model.
model.path.update({'Check': None, 'Element': None})
- with YumDB.getInstance(env):
+ with common.YumDB.getInstance(env):
if ( (not role or role.lower() == 'element')
- and ch.is_subclass(object_name.namespace,
+ and cimhandle.is_subclass(object_name.namespace,
sub=object_name.classname,
super='LMI_SoftwarePackage')):
filecheck_model = pywbem.CIMInstanceName(
@@ -280,20 +260,20 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
vpkg = yum.packages._RPMVerifyPackage(
pkg, pkg.hdr.fiFromHeader(),
SoftwareFileCheck.pkg_checksum_type(pkg), [], True)
- for fc in vpkg:
- model['Check'] = filecheck2model(
- vpkg, fc.filename, env, keys_only=True,
+ for file_check in vpkg:
+ model['Check'] = SoftwareFileCheck.filecheck2model(
+ vpkg, file_check.filename, env, keys_only=True,
model=filecheck_model)
yield model
if ( (not role or role.lower() == 'check')
- and ch.is_subclass(object_name.namespace,
+ and cimhandle.is_subclass(object_name.namespace,
sub=object_name.classname,
super='LMI_SoftwareFileCheck')):
model['Check'] = object_name
vpkg = SoftwareFileCheck.object_path2yumcheck(env, object_name)
- model['Element'] = pkg2model(
+ model['Element'] = SoftwarePackage.pkg2model(
env, vpkg.po, keys_only=True)
yield model
@@ -304,8 +284,7 @@ class LMI_SoftwarePackageChecks(CIMProvider2):
## end of class LMI_SoftwarePackageChecksProvider
-## get_providers() for associating CIM Class Name to python provider class name
-
def get_providers(env):
+ """Associates CIM Class Name to python provider class name"""
lmi_softwarepackagechecks_prov = LMI_SoftwarePackageChecks(env)
return {'LMI_SoftwarePackageChecks': lmi_softwarepackagechecks_prov}