Author: gnichols
Date: 2010-03-09 01:18:06 +0000 (Tue, 09 Mar 2010)
New Revision: 425
Modified:
trunk/tests/info/info.py
Log:
568468 - v7 finds no RT kernel ABI Whitelist
Modified: trunk/tests/info/info.py
===================================================================
--- trunk/tests/info/info.py 2010-03-09 01:16:52 UTC (rev 424)
+++ trunk/tests/info/info.py 2010-03-09 01:18:06 UTC (rev 425)
@@ -32,82 +32,20 @@
self.redHatRelease = RedHatRelease()
print "Tested OS: %s %s (%s)" % (self.redHatRelease.getProduct(),
self.redHatRelease.getVersion(), self.redHatRelease.getCodeName())
-
-
- self.getKernelRPMName()
- print "Kernel RPM: %s" % self.kernelRPMName
+ print "Kernel RPM: %s" % self.redHatRelease.getKernelRPMName()
# YK: to show v7 version as well
print "v7 version %s, release %s" % (v7.version.version,
v7.version.release)
self.priority = 1000 # run last
def getRequiredRPMs(self):
# kernel-devel or varient is required for the ABI whitelist
- rpms = [self.kernelDevelRPMName]
- return rpms
-
-
- def getKernelRPMName(self):
- uname = os.popen('uname -r')
- self.kernel = uname.readline()[:-1]
- uname.close()
-
- uname = os.popen('uname -m')
- self.arch = uname.readline()[:-1]
- uname.close()
-
- uname = os.popen("uname -r")
- unameOutput = uname.readline()
- if not unameOutput:
- print "Error: uname failed"
- else:
- unameOutput = unameOutput.strip()
-
- self.kernelRPMName = None
- self.kernelDevelRPMName = "kernel-devel"
- if "Red Hat" in self.redHatRelease.getProduct() and
self.redHatRelease.getVersion() == 4:
- pattern =
re.compile("(?P<versionRelease>[^a-z]*)(?P<name>smp|hugemem|largesmp)?$")
- match = pattern.search(unameOutput)
- if match:
- # if the release ends with ELsmp, ELhugemem, or ELlargesmp
- if match.group("name"):
- self.kernelRPMName = "kernel-%s-%s" %
(match.group("name"), match.group("versionRelease"))
- else:
- self.kernelRPMName = "kernel-%s" %
match.group("versionRelease")
-
- elif "Red Hat" in self.redHatRelease.getProduct() and
self.redHatRelease.getVersion() == 5:
- pattern =
re.compile("(?P<versionRelease>[^a-z]*)(?P<product>el5)(?P<flavor>xen|PAE|rt)?$")
- match = pattern.search(unameOutput)
- if match:
- flavor = ""
- if match.group("flavor"):
- flavor = "%s-" % match.group("flavor")
- self.kernelRPMName = "kernel-%s%s%s" % (flavor,
match.group("versionRelease"), match.group("product"))
- self.kernelDevelRPMName = "kernel-%sdevel" % flavor
- # RT kernel tags rt on the end of el5
- if match.group("flavor") == "rt":
- self.kernelRPMName = self.kernelRPMName + "rt"
- self.kernelDevelRPMName = kernelDevelRPMName + "rt"
-
- elif 'Fedora' in self.redHatRelease.getProduct():
- print "looking for Fedora kernel"
- print unameOutput
- pattern =
re.compile("(?P<versionRelease>[^a-z]*)(?P<product>fc[0-9]+)(?P<arch>\..*)$")
- match = pattern.search(unameOutput)
- if match:
- self.kernelRPMName = "kernel-%s%s%s" %
(match.group("versionRelease"), match.group("product"),
match.group("arch"))
-
-
- if not self.kernelRPMName:
- print "Error: could not determine kernel RPM name"
- self.kernelRPMName = None
-
- uname.close()
-
+ rpms = [self.redHatRelease.getKernelDevelRPMName()]
+ return rpms
def checkKernel(self):
# print kernel info
# this is kind of weird - is this what the hardware catalog expects?
- print "+ rpm -ql %s" % self.kernelRPMName
+ print "+ rpm -ql %s" % self.redHatRelease.getKernelRPMName()
success = True
#is the kernel tainted?
@@ -125,12 +63,12 @@
success = False
#where files modified?
- if not os.system("rpm -V --nomtime --nomode --nocontexts %s" %
self.kernelRPMName) is 0:
- print "Error: files from %s were modified" % self.kernelRPMName
+ if not os.system("rpm -V --nomtime --nomode --nocontexts %s" %
self.redHatRelease.getKernelRPMName()) is 0:
+ print "Error: files from %s were modified" %
self.redHatRelease.getKernelRPMName()
success = False
#check the buildhost
- if not os.system("rpm -q %s --qf '%%{buildhost}\n\' | grep -q
redhat.com" % self.kernelRPMName) is 0:
+ if not os.system("rpm -q %s --qf '%%{buildhost}\n\' | grep -q
redhat.com" % self.redHatRelease.getKernelRPMName()) is 0:
print "Error: This kernel was not built by Red Hat!"
success = False
@@ -176,7 +114,7 @@
print "checking modules..."
sys.stdout.flush()
kernelRPMModuleList = list()
- pipe = os.popen("rpm -ql %s | tr _ - " % self.kernelRPMName)
+ pipe = os.popen("rpm -ql %s | tr _ - " %
self.redHatRelease.getKernelRPMName())
while True:
line = pipe.readline()
if line:
@@ -332,13 +270,16 @@
def abiCheck(self, module):
- whitelist = '/usr/src/kernels/%s-%s/kabi_whitelist' % (self.kernel,
self.arch)
+ # skip abi checks for rt kernel
+ if self.redHatRelease.getKernelFlavor() == Constants.rt:
+ return True
+ whitelist = '/usr/src/kernels/%s-%s/kabi_whitelist' %
(self.redHatRelease.getKernel(), self.arch)
print "Red Hat Enterprise Linux %u ABI" %
self.redHatRelease.getVersion()
print "--------------------------------"
print ""
print "Module: " + module
- print "Kernel: " + self.kernel
+ print "Kernel: " + self.redHatRelease.getKernel()
print "Whitelist: " + whitelist
print ""
Show replies by date