summaryrefslogtreecommitdiffstats
path: root/src/yum/providers/LMI_YumInstalledPackage.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/yum/providers/LMI_YumInstalledPackage.py')
-rw-r--r--src/yum/providers/LMI_YumInstalledPackage.py37
1 files changed, 7 insertions, 30 deletions
diff --git a/src/yum/providers/LMI_YumInstalledPackage.py b/src/yum/providers/LMI_YumInstalledPackage.py
index f4c4cba..5a20b3c 100644
--- a/src/yum/providers/LMI_YumInstalledPackage.py
+++ b/src/yum/providers/LMI_YumInstalledPackage.py
@@ -24,20 +24,11 @@ Instruments the CIM class LMI_YumInstalledPackage
import itertools
import pywbem
-import socket
from pywbem.cim_provider2 import CIMProvider2
from LMI_YumPackage import pkg2model
from LMI_YumFileCheck import filecheck2model
from util.common import *
-def get_computer_system_op():
- return pywbem.CIMInstanceName(
- classname='CIM_ComputerSystem',
- keybindings={
- "CreationClassName": "CIM_ComputerSystem"
- , "Name" : socket.gethostname() },
- namespace="root/cimv2")
-
class LMI_YumInstalledPackage(CIMProvider2):
"""Instrument the CIM class LMI_YumInstalledPackage
@@ -78,9 +69,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
logger.log_debug('Entering %s.get_instance()' \
% self.__class__.__name__)
- if model['System'] != get_computer_system_op():
- raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND,
- "Unknown \"System\"")
+ check_computer_system_op(env, model['System'])
with YumDB.getInstance(env):
pkg = YumPackage.object_path2pkg(env, model['Software'])
model['Software'] = pkg2model(pkg, env, True)
@@ -197,10 +186,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
logger.log_debug('Entering %s.delete_instance()' \
% self.__class__.__name__)
- if instance_name['System'] != get_computer_system_op():
- raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND,
- "Unknown \"System\"")
-
+ check_computer_system_op(env, instance_name['System'])
with YumDB.getInstance(env) as yb:
pkg = YumPackage.object_path2pkg(env, instance_name["Software"])
logger.log_info('removing package "%s"' % pkg.nevra)
@@ -326,17 +312,11 @@ class LMI_YumInstalledPackage(CIMProvider2):
% self.__class__.__name__)
failed = []
- with YumDB.getInstance(env):
+ with YumDB.getInstance(env) as yb:
pkg = YumPackage.object_path2pkg(env, object_name['Software'])
+ csum = YumFileCheck.pkg_checksum_type(pkg)
vpkg = yum.packages._RPMVerifyPackage(
- pkg, pkg.hdr.fiFromHeader(),
- pkg.yumdb_info.checksum_type, [], True)
- filecheck_model = pywbem.CIMInstanceName(
- classname='LMI_YumFileCheck',
- namespace=object_name.namespace,
- host=object_name.host)
- csum = YumFileCheck.checksumtype_str2pywbem(
- pkg.yumdb_info.checksum_type)
+ pkg, pkg.hdr.fiFromHeader(), csum, [], True)
for vpf in vpkg:
fc = YumFileCheck.test_file(env, csum, vpf)
if ( fc.exists
@@ -344,8 +324,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
for v in fc if isinstance(v, tuple))):
continue
failed.append(filecheck2model(
- vpkg, vpf.filename, env, keys_only=True,
- model=filecheck_model, fc=fc))
+ vpkg, vpf.filename, env, keys_only=True, fc=fc))
out_params = [ pywbem.CIMParameter('Failed', type='reference',
value=failed) ]
return ( getattr(self.Values.CheckIntegrity,
@@ -400,9 +379,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
logger.log_debug('Entering %s.cim_method_update()' \
% self.__class__.__name__)
- if object_name['System'] != get_computer_system_op():
- raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND,
- "Unknown \"System\"")
+ check_computer_system_op(env, object_name['System'])
with YumDB.getInstance(env) as yb:
orig = YumPackage.object_path2pkg(env, object_name['Software'])