Author: gnichols
Date: 2011-04-14 15:26:43 +0000 (Thu, 14 Apr 2011)
New Revision: 866
Modified:
trunk/v7/configfile.py
trunk/v7/continuation.py
trunk/v7/log.py
Log:
635973 - reboot test should set vmcore size before testing kdump
Modified: trunk/v7/configfile.py
===================================================================
--- trunk/v7/configfile.py 2011-04-14 15:20:55 UTC (rev 865)
+++ trunk/v7/configfile.py 2011-04-14 15:26:43 UTC (rev 866)
@@ -42,7 +42,7 @@
self.__parse()
if self.parameters:
try:
- return self.parameters["name"]
+ return self.parameters[name]
except KeyError:
pass
return None
@@ -53,6 +53,16 @@
if self.parameters:
for key in self.parameters:
print "%s = %s" % (key, self.parameters[key])
+
+ def addParameter(self, name, value):
+ if not self.getParameter(name):
+ file = open(self.filePath, "a")
+ file.write("%s %s\n" % (name, value))
+ file.close()
+ return True
+ # otherwise
+ return False
+
if __name__ == "__main__":
try:
confFile = ConfigFile("/etc/rc.local")
Modified: trunk/v7/continuation.py
===================================================================
--- trunk/v7/continuation.py 2011-04-14 15:20:55 UTC (rev 865)
+++ trunk/v7/continuation.py 2011-04-14 15:26:43 UTC (rev 866)
@@ -21,6 +21,7 @@
from v7.controller import Controller
from v7.environment import Environment
from v7.documentbase import DocumentWrapper
+from v7.redhatrelease import RedHatRelease
class Continuation(Controller):
@@ -32,6 +33,7 @@
self.rebootTimeLimit = 10 # minutes
self.method = None
self.timestamp = None
+ self.kernel = None
def setInitConfig(self, marker, method=None):
@@ -47,6 +49,7 @@
timestamp.write(self.timestamp + "\n")
if self.method:
timestamp.write(self.method + "\n")
+ timestamp.write(RedHatRelease().getKernel() + "\n")
timestamp.close()
# mark the log with this run time
markerName = "%s-%s" % (marker, self.timestamp)
@@ -66,15 +69,26 @@
method = timestamp.readline()
if method:
self.method = method.strip()
+ kernel = timestamp.readline()
+ if kernel:
+ self.kernel = kernel.strip()
+
timestamp.close()
theTime = time.localtime(time.time())
duration = self.documentWrapper.duration(self.timestamp,
self.documentWrapper.timeToString(theTime))
print "reboot took " + duration
print "method: " + self.method
+ print "kernel: " + self.kernel
durationData = self.documentWrapper.durationData(self.timestamp,
self.documentWrapper.timeToString(theTime))
if durationData.seconds > self.rebootTimeLimit*60:
print "Error: reboot took longer that %u minutes" %
self.rebootTimeLimit
return False
+ kernel = RedHatRelease().getKernel()
+ if self.kernel != kernel:
+ print "Error: rebooted a different kernel:"
+ print " before: " + self.kernel
+ print " after: " + kernel
+ return False
log = self.getSystemLog("%s-%s" % (marker, self.timestamp.strip()),
pid=False)
rebootCount = 0
for line in log.split('\n'):
Modified: trunk/v7/log.py
===================================================================
--- trunk/v7/log.py 2011-04-14 15:20:55 UTC (rev 865)
+++ trunk/v7/log.py 2011-04-14 15:26:43 UTC (rev 866)
@@ -13,29 +13,38 @@
#
# Author: Greg Nichols
-import sys
+import sys, os
class Log(object):
def __init__(self, filePath):
sys.stdout.flush()
+ try:
+ size = os.path.getsize(filePath)
+ except os.error:
+ size = 0
self.terminal = sys.stdout
- self.log = open(filePath, "w")
- self.log.write("<output>\n")
+ self.log = open(filePath, "a")
+ if size is 0:
+ self.log.write("<output>\n")
def write(self, message):
self.terminal.write(message)
- self.log.write(message)
+ if self.log:
+ self.log.write(message)
def logOnly(self, message):
self.log.write(message)
def flush(self):
self.terminal.flush()
+ if self.log:
+ self.log.flush()
def close(self):
self.log.write("</output>\n")
self.log.close()
+ self.log = None
def unitTest():
print "Creating log qq.txt"
Show replies by date