import rteval-2.14-25.el8
This commit is contained in:
commit
19ab0b5210
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/rteval-2.14.tar.bz2
|
1
.rteval.metadata
Normal file
1
.rteval.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
d59b224576a8c1106d4cde856158814a6bfe9fb2 SOURCES/rteval-2.14.tar.bz2
|
30
SOURCES/python-setup.py-Comment-out-os.unlink.patch
Normal file
30
SOURCES/python-setup.py-Comment-out-os.unlink.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 7768ab5bc6b1c428de1dd1b3d9a4340bd020a2cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Wed, 30 May 2018 13:17:36 +0100
|
||||||
|
Subject: [PATCH] python: setup.py: Comment out os.unlink
|
||||||
|
|
||||||
|
Comment out os.unlink('dist/__init__.pyc')
|
||||||
|
as a temporary fix
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
setup.py | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 95efa905f4d1..9a76ffbf89be 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -79,7 +79,8 @@ mean, variance and standard deviation) and a report is generated.
|
||||||
|
os.unlink('dist/rteval')
|
||||||
|
os.unlink('dist/rteval.8.gz')
|
||||||
|
os.unlink('dist/__init__.py')
|
||||||
|
-os.unlink('dist/__init__.pyc')
|
||||||
|
+# TODO FIX THIS, or at least find out why it was there
|
||||||
|
+#os.unlink('dist/__init__.pyc')
|
||||||
|
|
||||||
|
if distcreated:
|
||||||
|
try:
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
1617
SOURCES/rteval-2to3-transformations.patch
Normal file
1617
SOURCES/rteval-2to3-transformations.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,156 @@
|
|||||||
|
From 1897019ec6fd7bfd465dd687e58ed355e6e0bead Mon Sep 17 00:00:00 2001
|
||||||
|
From: root <root@hp-dl380g7-01.lab.bos.redhat.com>
|
||||||
|
Date: Sat, 23 Jun 2018 12:34:36 -0400
|
||||||
|
Subject: [PATCH] rteval: Changes for python3 and rt-tests with automated numa
|
||||||
|
detection
|
||||||
|
|
||||||
|
cyclictest no-longer requires --numa, but uses it automatically if detected.
|
||||||
|
rteval was changed to accomodate this.
|
||||||
|
|
||||||
|
In addtion a number of changes were made for python3 compatibility.
|
||||||
|
Mostly these ahd to do with string and bytes.
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/modules/measurement/cyclictest.py | 5 +++--
|
||||||
|
rteval/sysinfo/kernel.py | 8 +++++---
|
||||||
|
rteval/sysinfo/network.py | 2 +-
|
||||||
|
rteval/xmlout.py | 21 +++++++++------------
|
||||||
|
4 files changed, 18 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
|
||||||
|
index c992c0c..21d313c 100644
|
||||||
|
--- a/rteval/modules/measurement/cyclictest.py
|
||||||
|
+++ b/rteval/modules/measurement/cyclictest.py
|
||||||
|
@@ -228,7 +228,7 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
def __getmode(self):
|
||||||
|
if self.__numanodes > 1:
|
||||||
|
self._log(Log.DEBUG, "running in NUMA mode (%d nodes)" % self.__numanodes)
|
||||||
|
- return '--numa'
|
||||||
|
+ return ''
|
||||||
|
self._log(Log.DEBUG, "running in SMP mode")
|
||||||
|
return '--smp'
|
||||||
|
|
||||||
|
@@ -278,7 +278,7 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
self.__cmd.append("--notrace")
|
||||||
|
|
||||||
|
# Buffer for cyclictest data written to stdout
|
||||||
|
- self.__cyclicoutput = tempfile.SpooledTemporaryFile(mode='rw+b')
|
||||||
|
+ self.__cyclicoutput = tempfile.SpooledTemporaryFile(mode='w+b')
|
||||||
|
|
||||||
|
|
||||||
|
def _WorkloadTask(self):
|
||||||
|
@@ -327,6 +327,7 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
# now parse the histogram output
|
||||||
|
self.__cyclicoutput.seek(0)
|
||||||
|
for line in self.__cyclicoutput:
|
||||||
|
+ line = bytes.decode(line)
|
||||||
|
if line.startswith('#'):
|
||||||
|
# Catch if cyclictest stopped due to a breaktrace
|
||||||
|
if line.startswith('# Break value: '):
|
||||||
|
diff --git a/rteval/sysinfo/kernel.py b/rteval/sysinfo/kernel.py
|
||||||
|
index fd261fe..308846b 100644
|
||||||
|
--- a/rteval/sysinfo/kernel.py
|
||||||
|
+++ b/rteval/sysinfo/kernel.py
|
||||||
|
@@ -50,9 +50,11 @@ class KernelInfo(object):
|
||||||
|
for p in c.stdout:
|
||||||
|
v = p.strip().split()
|
||||||
|
kcmd = v.pop(0)
|
||||||
|
+ kcmd = bytes.decode(kcmd)
|
||||||
|
try:
|
||||||
|
if int(v[0]) > 0 and kcmd.startswith('[') and kcmd.endswith(']'):
|
||||||
|
- ret_kthreads[v[0]] = {'policy' : policies[v[1]],
|
||||||
|
+
|
||||||
|
+ ret_kthreads[v[0]] = {'policy' : policies[bytes.decode(v[1])],
|
||||||
|
'priority' : v[2], 'name' : v[3] }
|
||||||
|
except ValueError:
|
||||||
|
pass # Ignore lines which don't have a number in the first row
|
||||||
|
@@ -137,9 +139,9 @@ class KernelInfo(object):
|
||||||
|
for pid in keys:
|
||||||
|
kthri_n = libxml2.newNode("thread")
|
||||||
|
kthreads_n.addChild(kthri_n)
|
||||||
|
- kthri_n.addContent(kthreads[pid]["name"])
|
||||||
|
+ kthri_n.addContent(bytes.decode(kthreads[pid]["name"]))
|
||||||
|
kthri_n.newProp("policy", kthreads[pid]["policy"])
|
||||||
|
- kthri_n.newProp("priority", kthreads[pid]["priority"])
|
||||||
|
+ kthri_n.newProp("priority", bytes.decode(kthreads[pid]["priority"]))
|
||||||
|
|
||||||
|
return rep_n
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/network.py b/rteval/sysinfo/network.py
|
||||||
|
index 9b933c1..ce9989a 100644
|
||||||
|
--- a/rteval/sysinfo/network.py
|
||||||
|
+++ b/rteval/sysinfo/network.py
|
||||||
|
@@ -53,7 +53,7 @@ class NetworkInfo(object):
|
||||||
|
if hasattr(ethtool, 'get_interfaces_info'):
|
||||||
|
# Using the newer python-ethtool API (version >= 0.4)
|
||||||
|
for dev in ethtool.get_interfaces_info(ethtool.get_devices()):
|
||||||
|
- if cmp(dev.device,'lo') == 0:
|
||||||
|
+ if dev.device == 'lo':
|
||||||
|
continue
|
||||||
|
|
||||||
|
intf_n = libxml2.newNode('interface')
|
||||||
|
diff --git a/rteval/xmlout.py b/rteval/xmlout.py
|
||||||
|
index 6464258..15391a6 100644
|
||||||
|
--- a/rteval/xmlout.py
|
||||||
|
+++ b/rteval/xmlout.py
|
||||||
|
@@ -29,7 +29,6 @@ import libxml2
|
||||||
|
import lxml.etree
|
||||||
|
import codecs
|
||||||
|
import re
|
||||||
|
-#from string import maketrans
|
||||||
|
|
||||||
|
|
||||||
|
def convert_libxml2_to_lxml_doc(inxml):
|
||||||
|
@@ -51,7 +50,7 @@ def convert_lxml_to_libxml2_nodes(inlxml):
|
||||||
|
if not isinstance(inlxml,lxml.etree._Element) and not isinstance(inlxml, lxml.etree._XSLTResultTree):
|
||||||
|
raise TypeError('Function requires an lxml.etree object as input')
|
||||||
|
|
||||||
|
- return libxml2.parseDoc(lxml.etree.tostring(inlxml)).getRootElement()
|
||||||
|
+ return libxml2.parseDoc(bytes.decode(lxml.etree.tostring(inlxml))).getRootElement()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -74,13 +73,13 @@ class XMLOut(object):
|
||||||
|
self.xmldoc.freeDoc()
|
||||||
|
|
||||||
|
def __setup_tag_trans(self):
|
||||||
|
- t = maketrans('', '')
|
||||||
|
- t = t.replace(' ', '_')
|
||||||
|
- t = t.replace('\t', '_')
|
||||||
|
- t = t.replace('(', '_')
|
||||||
|
- t = t.replace(')', '_')
|
||||||
|
- t = t.replace(':', '-')
|
||||||
|
+ t = str.maketrans('', '')
|
||||||
|
return t
|
||||||
|
+# t = t.replace(' ', '_')
|
||||||
|
+# t = t.replace('\t', '_')
|
||||||
|
+# t = t.replace('(', '_')
|
||||||
|
+# t = t.replace(')', '_')
|
||||||
|
+# t = t.replace(':', '-')
|
||||||
|
|
||||||
|
def __fixtag(self, tagname):
|
||||||
|
if not isinstance(tagname, str):
|
||||||
|
@@ -99,9 +98,7 @@ class XMLOut(object):
|
||||||
|
rx = re.compile(" ")
|
||||||
|
val = rx.sub("_", val)
|
||||||
|
|
||||||
|
- # libxml2 uses UTF-8 internally and must have
|
||||||
|
- # all input as UTF-8.
|
||||||
|
- return val.encode('utf-8')
|
||||||
|
+ return val
|
||||||
|
|
||||||
|
|
||||||
|
def __add_attributes(self, node, attr):
|
||||||
|
@@ -223,7 +220,7 @@ class XMLOut(object):
|
||||||
|
resdoc = parser(xmldoc)
|
||||||
|
|
||||||
|
# Write the file with the requested output encoding
|
||||||
|
- dstfile.write(str(resdoc).encode(self.encoding))
|
||||||
|
+ dstfile.write(bytes.decode(str(resdoc).encode(self.encoding)))
|
||||||
|
|
||||||
|
if dstfile != sys.stdout:
|
||||||
|
dstfile.close()
|
||||||
|
--
|
||||||
|
2.17.0
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 2d547eb6a7598f608a5fce44988223186cb65760 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Tue, 16 Oct 2018 19:23:25 +0200
|
||||||
|
Subject: [PATCH] rteval: Disable options for remote xmlrpc server
|
||||||
|
|
||||||
|
Disable options for remote xmlrpc server
|
||||||
|
|
||||||
|
The simplest way to keep the code in place but disable this is to
|
||||||
|
comment out the options where the commandline is parsed.
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval-cmd | 12 ++++++------
|
||||||
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval-cmd b/rteval-cmd
|
||||||
|
index 404d4ca0eb37..dff972f663cf 100755
|
||||||
|
--- a/rteval-cmd
|
||||||
|
+++ b/rteval-cmd
|
||||||
|
@@ -129,12 +129,12 @@ def parse_options(cfg, parser, cmdargs):
|
||||||
|
parser.add_option("-D", '--debug', dest='rteval___debugging',
|
||||||
|
action='store_true', default=rtevcfg.debugging,
|
||||||
|
help='turn on debug prints (default: %default)')
|
||||||
|
- parser.add_option("-X", '--xmlrpc-submit', dest='rteval___xmlrpc',
|
||||||
|
- action='store', default=rtevcfg.xmlrpc, metavar='HOST',
|
||||||
|
- help='Hostname to XML-RPC server to submit reports')
|
||||||
|
- parser.add_option("-P", "--xmlrpc-no-abort", dest="rteval___xmlrpc_noabort",
|
||||||
|
- action='store_true', default=False,
|
||||||
|
- help="Do not abort if XML-RPC server do not respond to ping request");
|
||||||
|
+ #parser.add_option("-X", '--xmlrpc-submit', dest='rteval___xmlrpc',
|
||||||
|
+ # action='store', default=rtevcfg.xmlrpc, metavar='HOST',
|
||||||
|
+ # help='Hostname to XML-RPC server to submit reports')
|
||||||
|
+ #parser.add_option("-P", "--xmlrpc-no-abort", dest="rteval___xmlrpc_noabort",
|
||||||
|
+ # action='store_true', default=False,
|
||||||
|
+ # help="Do not abort if XML-RPC server do not respond to ping request");
|
||||||
|
parser.add_option("-Z", '--summarize', dest='rteval___summarize',
|
||||||
|
action='store_true', default=False,
|
||||||
|
help='summarize an already existing XML report')
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
47
SOURCES/rteval-Explicitly-use-python3.patch
Normal file
47
SOURCES/rteval-Explicitly-use-python3.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 0c6bc0249618ba3833d062f13ff987fd29a11ab8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Tue, 8 May 2018 19:18:54 +0100
|
||||||
|
Subject: [PATCH 17/18] rteval: Explicitly use python3
|
||||||
|
|
||||||
|
Make the use of python3 explicit
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval-cmd | 2 +-
|
||||||
|
rteval/misc.py | 2 +-
|
||||||
|
setup.py | 2 +-
|
||||||
|
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval-cmd b/rteval-cmd
|
||||||
|
index ed61d98de1a2..3ae29dbd9fe3 100755
|
||||||
|
--- a/rteval-cmd
|
||||||
|
+++ b/rteval-cmd
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/usr/bin/python -tt
|
||||||
|
+#!/usr/bin/python3 -tt
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# rteval - script for evaluating platform suitability for RT Linux
|
||||||
|
diff --git a/rteval/misc.py b/rteval/misc.py
|
||||||
|
index 7b55b3490e61..0cfc69dfbd62 100644
|
||||||
|
--- a/rteval/misc.py
|
||||||
|
+++ b/rteval/misc.py
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/usr/bin/python -tt
|
||||||
|
+#!/usr/bin/python3 -tt
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 Clark Williams <clark.williams@gmail.com>
|
||||||
|
# Copyright (C) 2015 Red Hat, Inc.
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index f5dc14610ae4..39bc8247b704 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/usr/bin/python
|
||||||
|
+#!/usr/bin/python3
|
||||||
|
from distutils.sysconfig import get_python_lib
|
||||||
|
from distutils.core import setup
|
||||||
|
from os.path import isfile, join
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
28
SOURCES/rteval-Fix-typo-in-debug-output.patch
Normal file
28
SOURCES/rteval-Fix-typo-in-debug-output.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 098651a756aaad2d638dec12b9f387e416339892 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Mon, 17 Dec 2018 17:40:49 +0100
|
||||||
|
Subject: [PATCH] rteval: Fix typo in debug output
|
||||||
|
|
||||||
|
Fix typo in debug output. Should say cmdline
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/sysinfo/cmdline.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/cmdline.py b/rteval/sysinfo/cmdline.py
|
||||||
|
index 12b3a5d9b7bd..7e7566aa2d8e 100644
|
||||||
|
--- a/rteval/sysinfo/cmdline.py
|
||||||
|
+++ b/rteval/sysinfo/cmdline.py
|
||||||
|
@@ -13,7 +13,7 @@ class cmdlineInfo:
|
||||||
|
cmdlineList = []
|
||||||
|
fp = open('/proc/cmdline', 'r')
|
||||||
|
line = fp.readline()
|
||||||
|
- self.__log(Log.DEBUG, "/proc/mcdline\n")
|
||||||
|
+ self.__log(Log.DEBUG, "/proc/cmdline\n")
|
||||||
|
fp.close()
|
||||||
|
return line
|
||||||
|
|
||||||
|
--
|
||||||
|
2.19.2
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
From afbb4f884cd4221f557f8de98670c106448d2529 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Tue, 16 May 2017 20:55:36 -0400
|
||||||
|
Subject: [PATCH 04/18] rteval: Improve error handling if cyclictest fails to
|
||||||
|
run
|
||||||
|
|
||||||
|
Improve error handling if cyclictest fails to run.
|
||||||
|
An example of this could be if cyclictest is not installed, or rteval
|
||||||
|
cannot find the installation
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/modules/measurement/cyclictest.py | 11 ++++++++---
|
||||||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
|
||||||
|
index c5b30557da0b..d920e4be6548 100644
|
||||||
|
--- a/rteval/modules/measurement/cyclictest.py
|
||||||
|
+++ b/rteval/modules/measurement/cyclictest.py
|
||||||
|
@@ -299,11 +299,14 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
self.__cyclicoutput.seek(0)
|
||||||
|
- self.__cyclicprocess = subprocess.Popen(self.__cmd,
|
||||||
|
+ try:
|
||||||
|
+ self.__cyclicprocess = subprocess.Popen(self.__cmd,
|
||||||
|
stdout=self.__cyclicoutput,
|
||||||
|
stderr=self.__nullfp,
|
||||||
|
stdin=self.__nullfp)
|
||||||
|
- self.__started = True
|
||||||
|
+ self.__started = True
|
||||||
|
+ except OSError:
|
||||||
|
+ self.__started = False
|
||||||
|
|
||||||
|
|
||||||
|
def WorkloadAlive(self):
|
||||||
|
@@ -314,7 +317,9 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
|
||||||
|
|
||||||
|
def _WorkloadCleanup(self):
|
||||||
|
- while self.__cyclicprocess.poll() == None:
|
||||||
|
+ if not self.__started:
|
||||||
|
+ return
|
||||||
|
+ while self.__cyclicprocess.poll() is None:
|
||||||
|
self._log(Log.DEBUG, "Sending SIGINT")
|
||||||
|
os.kill(self.__cyclicprocess.pid, signal.SIGINT)
|
||||||
|
time.sleep(2)
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
262
SOURCES/rteval-Remove-rteval-sysinfo-systopology.py.patch
Normal file
262
SOURCES/rteval-Remove-rteval-sysinfo-systopology.py.patch
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
From 59d3912d71832092c4daadf31fb3184f50aaa8b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Thu, 18 May 2017 14:49:03 +0200
|
||||||
|
Subject: [PATCH 09/18] rteval: Remove rteval/sysinfo/systopology.py
|
||||||
|
|
||||||
|
Remove rteval/sysinfo/systopology.py as it is replaced by
|
||||||
|
rteval/systopology.py
|
||||||
|
|
||||||
|
As was intended by 6e4d54b8c6d3697efba0e3d
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/sysinfo/systopology.py | 237 ------------------------------------------
|
||||||
|
1 file changed, 237 deletions(-)
|
||||||
|
delete mode 100644 rteval/sysinfo/systopology.py
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/systopology.py b/rteval/sysinfo/systopology.py
|
||||||
|
deleted file mode 100644
|
||||||
|
index a6e5c1a8b409..000000000000
|
||||||
|
--- a/rteval/sysinfo/systopology.py
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,237 +0,0 @@
|
||||||
|
-# -*- coding: utf-8 -*-
|
||||||
|
-#
|
||||||
|
-# Copyright 2016 - Clark Williams <williams@redhat.com>
|
||||||
|
-#
|
||||||
|
-# This program is free software; you can redistribute it and/or modify
|
||||||
|
-# it under the terms of the GNU General Public License as published by
|
||||||
|
-# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-#
|
||||||
|
-# This program is distributed in the hope that it will be useful,
|
||||||
|
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
-# GNU General Public License for more details.
|
||||||
|
-#
|
||||||
|
-# You should have received a copy of the GNU General Public License along
|
||||||
|
-# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
-#
|
||||||
|
-# For the avoidance of doubt the "preferred form" of this code is one which
|
||||||
|
-# is in an open unpatent encumbered format. Where cryptographic key signing
|
||||||
|
-# forms part of the process of creating an executable the information
|
||||||
|
-# including keys needed to generate an equivalently functional executable
|
||||||
|
-# are deemed to be part of the source code.
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
-import os, sys
|
||||||
|
-import os.path
|
||||||
|
-import glob
|
||||||
|
-
|
||||||
|
-def _sysread(path, obj):
|
||||||
|
- fp = open(os.path.join(path,obj), "r")
|
||||||
|
- return fp.readline().strip()
|
||||||
|
-
|
||||||
|
-#
|
||||||
|
-# class to provide access to a list of cpus
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
-class CpuList(object):
|
||||||
|
- "Object that represents a group of system cpus"
|
||||||
|
-
|
||||||
|
- cpupath = '/sys/devices/system/cpu'
|
||||||
|
-
|
||||||
|
- def __init__(self, cpulist):
|
||||||
|
- if type(cpulist) is list:
|
||||||
|
- self.cpulist = cpulist
|
||||||
|
- elif type(cpulist) is str:
|
||||||
|
- self.cpulist = self.__expand_cpulist(cpulist)
|
||||||
|
- self.cpulist.sort()
|
||||||
|
-
|
||||||
|
- def __str__(self):
|
||||||
|
- return self.__collapse_cpulist(self.cpulist)
|
||||||
|
-
|
||||||
|
- def __contains__(self, cpu):
|
||||||
|
- return cpu in self.cpulist
|
||||||
|
-
|
||||||
|
- def __len__(self):
|
||||||
|
- return len(self.cpulist)
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- # return the index of the last element of a sequence
|
||||||
|
- # that steps by one
|
||||||
|
- def __longest_sequence(self, cpulist):
|
||||||
|
- lim = len(cpulist)
|
||||||
|
- for idx,val in enumerate(cpulist):
|
||||||
|
- if idx+1 == lim:
|
||||||
|
- break
|
||||||
|
- if int(cpulist[idx+1]) != (int(cpulist[idx])+1):
|
||||||
|
- return idx
|
||||||
|
- return lim - 1
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- #
|
||||||
|
- # collapse a list of cpu numbers into a string range
|
||||||
|
- # of cpus (e.g. 0-5, 7, 9)
|
||||||
|
- #
|
||||||
|
- def __collapse_cpulist(self, cpulist):
|
||||||
|
- if len(cpulist) == 0:
|
||||||
|
- return ""
|
||||||
|
- idx = self.__longest_sequence(cpulist)
|
||||||
|
- if idx == 0:
|
||||||
|
- seq = str(cpulist[0])
|
||||||
|
- else:
|
||||||
|
- if idx == 1:
|
||||||
|
- seq = "%d,%d" % (cpulist[0], cpulist[idx])
|
||||||
|
- else:
|
||||||
|
- seq = "%d-%d" % (cpulist[0], cpulist[idx])
|
||||||
|
-
|
||||||
|
- rest = self.__collapse_cpulist(cpulist[idx+1:])
|
||||||
|
- if rest == "":
|
||||||
|
- return seq
|
||||||
|
- return ",".join((seq, rest))
|
||||||
|
-
|
||||||
|
- # expand a string range into a list
|
||||||
|
- # don't error check against online cpus
|
||||||
|
- def __expand_cpulist(self, cpulist):
|
||||||
|
- '''expand a range string into an array of cpu numbers'''
|
||||||
|
- result = []
|
||||||
|
- for part in cpulist.split(','):
|
||||||
|
- if '-' in part:
|
||||||
|
- a, b = part.split('-')
|
||||||
|
- a, b = int(a), int(b)
|
||||||
|
- result.extend(range(a, b + 1))
|
||||||
|
- else:
|
||||||
|
- a = int(part)
|
||||||
|
- result.append(a)
|
||||||
|
- return [ int(i) for i in list(set(result)) ]
|
||||||
|
-
|
||||||
|
- # returns the list of cpus tracked
|
||||||
|
- def getcpulist(self):
|
||||||
|
- return self.cpulist
|
||||||
|
-
|
||||||
|
- # check whether cpu n is online
|
||||||
|
- def isonline(self, n):
|
||||||
|
- if n not in self.cpulist:
|
||||||
|
- raise RuntimeError, "invalid cpu number %d" % n
|
||||||
|
- if n == 0:
|
||||||
|
- return True
|
||||||
|
- path = os.path.join(CpuList.cpupath,'cpu%d' % n)
|
||||||
|
- if os.path.exists(path):
|
||||||
|
- return _sysread(path, "online") == 1
|
||||||
|
- return False
|
||||||
|
-
|
||||||
|
-#
|
||||||
|
-# class to abstract access to NUMA nodes in /sys filesystem
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
-class NumaNode(object):
|
||||||
|
- "class representing a system NUMA node"
|
||||||
|
-
|
||||||
|
- # constructor argument is the full path to the /sys node file
|
||||||
|
- # e.g. /sys/devices/system/node/node0
|
||||||
|
- def __init__(self, path):
|
||||||
|
- self.path = path
|
||||||
|
- self.nodeid = int(os.path.basename(path)[4:].strip())
|
||||||
|
- self.cpus = CpuList(_sysread(self.path, "cpulist"))
|
||||||
|
- self.getmeminfo()
|
||||||
|
-
|
||||||
|
- # function for the 'in' operator
|
||||||
|
- def __contains__(self, cpu):
|
||||||
|
- return cpu in self.cpus
|
||||||
|
-
|
||||||
|
- # allow the 'len' builtin
|
||||||
|
- def __len__(self):
|
||||||
|
- return len(self.cpus)
|
||||||
|
-
|
||||||
|
- # string representation of the cpus for this node
|
||||||
|
- def __str__(self):
|
||||||
|
- return self.getcpustr()
|
||||||
|
-
|
||||||
|
- # read info about memory attached to this node
|
||||||
|
- def getmeminfo(self):
|
||||||
|
- self.meminfo = {}
|
||||||
|
- for l in open(os.path.join(self.path, "meminfo"), "r"):
|
||||||
|
- elements = l.split()
|
||||||
|
- key=elements[2][0:-1]
|
||||||
|
- val=int(elements[3])
|
||||||
|
- if len(elements) == 5 and elements[4] == "kB":
|
||||||
|
- val *= 1024
|
||||||
|
- self.meminfo[key] = val
|
||||||
|
-
|
||||||
|
- # return list of cpus for this node as a string
|
||||||
|
- def getcpustr(self):
|
||||||
|
- return str(self.cpus)
|
||||||
|
-
|
||||||
|
- # return list of cpus for this node
|
||||||
|
- def getcpulist(self):
|
||||||
|
- return self.cpus.getcpulist()
|
||||||
|
-
|
||||||
|
-#
|
||||||
|
-# Class to abstract the system topology of numa nodes and cpus
|
||||||
|
-#
|
||||||
|
-class SysTopology(object):
|
||||||
|
- "Object that represents the system's NUMA-node/cpu topology"
|
||||||
|
-
|
||||||
|
- cpupath = '/sys/devices/system/cpu'
|
||||||
|
- nodepath = '/sys/devices/system/node'
|
||||||
|
-
|
||||||
|
- def __init__(self):
|
||||||
|
- self.nodes = {}
|
||||||
|
- self.getinfo()
|
||||||
|
-
|
||||||
|
- def __len__(self):
|
||||||
|
- return len(self.nodes.keys())
|
||||||
|
-
|
||||||
|
- # inplement the 'in' function
|
||||||
|
- def __contains__(self, node):
|
||||||
|
- for n in self.nodes:
|
||||||
|
- if self.nodes[n].nodeid == node:
|
||||||
|
- return True
|
||||||
|
- return False
|
||||||
|
-
|
||||||
|
- # allow indexing for the nodes
|
||||||
|
- def __getitem__(self, key):
|
||||||
|
- return self.nodes[key]
|
||||||
|
-
|
||||||
|
- # allow iteration over the cpus for the node
|
||||||
|
- def __iter__(self):
|
||||||
|
- self.current = 0
|
||||||
|
- return self
|
||||||
|
-
|
||||||
|
- # iterator function
|
||||||
|
- def next(self):
|
||||||
|
- if self.current >= len(self.nodes):
|
||||||
|
- raise StopIteration
|
||||||
|
- n = self.nodes[self.current]
|
||||||
|
- self.current += 1
|
||||||
|
- return n
|
||||||
|
-
|
||||||
|
- def getinfo(self):
|
||||||
|
- nodes = glob.glob(os.path.join(SysTopology.nodepath, 'node[0-9]*'))
|
||||||
|
- if not nodes:
|
||||||
|
- raise RuntimeError, "No valid nodes found in %s!" % SysTopology.nodepath
|
||||||
|
- nodes.sort()
|
||||||
|
- for n in nodes:
|
||||||
|
- node = int(os.path.basename(n)[4:])
|
||||||
|
- self.nodes[node] = NumaNode(n)
|
||||||
|
-
|
||||||
|
- def getnodes(self):
|
||||||
|
- return self.nodes.keys()
|
||||||
|
-
|
||||||
|
- def getcpus(self, node):
|
||||||
|
- return self.nodes[node]
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-if __name__ == "__main__":
|
||||||
|
-
|
||||||
|
- def unit_test():
|
||||||
|
- s = SysTopology()
|
||||||
|
- print "number of nodes: %d" % len(s)
|
||||||
|
- for n in s:
|
||||||
|
- print "node[%d]: %s" % (n.nodeid, n)
|
||||||
|
- print "system has numa node 0: %s" % (0 in s)
|
||||||
|
- print "system has numa node 2: %s" % (2 in s)
|
||||||
|
- print "system has numa node 24: %s" % (24 in s)
|
||||||
|
-
|
||||||
|
- unit_test()
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
115
SOURCES/rteval-add-the-proc-cmdline-to-rteval-report.patch
Normal file
115
SOURCES/rteval-add-the-proc-cmdline-to-rteval-report.patch
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
From 5a54d982b05caa48a51fb7db1c5c1d10a76dcc68 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Fri, 20 Oct 2017 12:17:47 +0100
|
||||||
|
Subject: [PATCH 12/18] rteval: add the /proc/cmdline to rteval report
|
||||||
|
|
||||||
|
Bugzilla: bz1452788
|
||||||
|
|
||||||
|
Creates a new class cmdlineInfo which is added to the report
|
||||||
|
|
||||||
|
example of the output:
|
||||||
|
|
||||||
|
Cmdline: BOOT_IMAGE=/vmlinuz-3.10.0-663.el7.x86_64
|
||||||
|
root=/dev/mapper/rhel_dell--pem710--02-root ro crashkernel=auto
|
||||||
|
rd.lvm.lv=rhel_dell-pem710-02/root rd.lvm.lv=rhel_dell-pem710-02/swap
|
||||||
|
console=ttyS0,115200n81 isolcpus=3
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
|
||||||
|
cmdline
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
(cherry picked from commit 3e883c598c5588ebec3e9a6e1f8bd396e5d3ab94)
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/rteval_text.xsl | 5 +++++
|
||||||
|
rteval/sysinfo/__init__.py | 5 ++++-
|
||||||
|
rteval/sysinfo/cmdline.py | 28 ++++++++++++++++++++++++++++
|
||||||
|
3 files changed, 37 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 rteval/sysinfo/cmdline.py
|
||||||
|
|
||||||
|
diff --git a/rteval/rteval_text.xsl b/rteval/rteval_text.xsl
|
||||||
|
index e99c0162c75a..c40063e3dd19 100644
|
||||||
|
--- a/rteval/rteval_text.xsl
|
||||||
|
+++ b/rteval/rteval_text.xsl
|
||||||
|
@@ -136,6 +136,11 @@
|
||||||
|
<xsl:apply-templates select="loads/command_line"/>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
+
|
||||||
|
+ <xsl:text> Cmdline: </xsl:text>
|
||||||
|
+ <xsl:value-of select="SystemInfo/cmdlineInfo/cmdline"/>
|
||||||
|
+ <xsl:text> </xsl:text>
|
||||||
|
+
|
||||||
|
<!-- Generate a summary report for all measurement profiles -->
|
||||||
|
<xsl:apply-templates select="Measurements/Profile"/>
|
||||||
|
<xsl:text> =================================================================== </xsl:text>
|
||||||
|
diff --git a/rteval/sysinfo/__init__.py b/rteval/sysinfo/__init__.py
|
||||||
|
index 0de985bf86f1..f7bf823aa36d 100644
|
||||||
|
--- a/rteval/sysinfo/__init__.py
|
||||||
|
+++ b/rteval/sysinfo/__init__.py
|
||||||
|
@@ -32,9 +32,10 @@ from cputopology import CPUtopology
|
||||||
|
from memory import MemoryInfo
|
||||||
|
from osinfo import OSInfo
|
||||||
|
from network import NetworkInfo
|
||||||
|
+from cmdline import cmdlineInfo
|
||||||
|
import dmi
|
||||||
|
|
||||||
|
-class SystemInfo(KernelInfo, SystemServices, dmi.DMIinfo, CPUtopology, MemoryInfo, OSInfo, NetworkInfo):
|
||||||
|
+class SystemInfo(KernelInfo, SystemServices, dmi.DMIinfo, CPUtopology, MemoryInfo, OSInfo, NetworkInfo, cmdlineInfo):
|
||||||
|
def __init__(self, config, logger=None):
|
||||||
|
self.__logger = logger
|
||||||
|
KernelInfo.__init__(self, logger=logger)
|
||||||
|
@@ -42,6 +43,7 @@ class SystemInfo(KernelInfo, SystemServices, dmi.DMIinfo, CPUtopology, MemoryInf
|
||||||
|
dmi.DMIinfo.__init__(self, config, logger=logger)
|
||||||
|
CPUtopology.__init__(self)
|
||||||
|
OSInfo.__init__(self, logger=logger)
|
||||||
|
+ cmdlineInfo.__init__(self, logger=logger)
|
||||||
|
|
||||||
|
# Parse initial DMI decoding errors
|
||||||
|
dmi.ProcessWarnings()
|
||||||
|
@@ -62,6 +64,7 @@ class SystemInfo(KernelInfo, SystemServices, dmi.DMIinfo, CPUtopology, MemoryInf
|
||||||
|
report_n.addChild(CPUtopology.MakeReport(self))
|
||||||
|
report_n.addChild(MemoryInfo.MakeReport(self))
|
||||||
|
report_n.addChild(dmi.DMIinfo.MakeReport(self))
|
||||||
|
+ report_n.addChild(cmdlineInfo.MakeReport(self))
|
||||||
|
|
||||||
|
return report_n
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/cmdline.py b/rteval/sysinfo/cmdline.py
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..12b3a5d9b7bd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/rteval/sysinfo/cmdline.py
|
||||||
|
@@ -0,0 +1,28 @@
|
||||||
|
+import sys, os, readline, libxml2
|
||||||
|
+from rteval.Log import Log
|
||||||
|
+
|
||||||
|
+class cmdlineInfo:
|
||||||
|
+ def __init__(self, logger = None):
|
||||||
|
+ self.__logger = logger
|
||||||
|
+
|
||||||
|
+ def __log(self, logtype, msg):
|
||||||
|
+ if self.__logger:
|
||||||
|
+ self.__logger.log(logtype, msg)
|
||||||
|
+
|
||||||
|
+ def read_cmdline(self):
|
||||||
|
+ cmdlineList = []
|
||||||
|
+ fp = open('/proc/cmdline', 'r')
|
||||||
|
+ line = fp.readline()
|
||||||
|
+ self.__log(Log.DEBUG, "/proc/mcdline\n")
|
||||||
|
+ fp.close()
|
||||||
|
+ return line
|
||||||
|
+
|
||||||
|
+ def MakeReport(self):
|
||||||
|
+ rep_n = libxml2.newNode("cmdlineInfo")
|
||||||
|
+ cmdline_n = libxml2.newNode("cmdline")
|
||||||
|
+ cmdlineStr = self.read_cmdline()
|
||||||
|
+ cmdline_n.addContent(cmdlineStr)
|
||||||
|
+ self.__log(Log.DEBUG, cmdlineStr)
|
||||||
|
+ rep_n.addChild(cmdline_n)
|
||||||
|
+
|
||||||
|
+ return rep_n
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
38
SOURCES/rteval-cyclictest.py-Fix-spacing-problems.patch
Normal file
38
SOURCES/rteval-cyclictest.py-Fix-spacing-problems.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 3ec25aea4b437db0d0910b4cb7110c8850d3b64b Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Tue, 8 May 2018 15:44:50 +0100
|
||||||
|
Subject: [PATCH 15/18] rteval: cyclictest.py: Fix spacing problems
|
||||||
|
|
||||||
|
Some spacing problems got introduced with the last fix, possibly
|
||||||
|
as a result of examining them with certain text editors
|
||||||
|
|
||||||
|
Fix these
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/modules/measurement/cyclictest.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
|
||||||
|
index d920e4be6548..f6c6d1353fac 100644
|
||||||
|
--- a/rteval/modules/measurement/cyclictest.py
|
||||||
|
+++ b/rteval/modules/measurement/cyclictest.py
|
||||||
|
@@ -299,13 +299,13 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
self.__cyclicoutput.seek(0)
|
||||||
|
- try:
|
||||||
|
+ try:
|
||||||
|
self.__cyclicprocess = subprocess.Popen(self.__cmd,
|
||||||
|
stdout=self.__cyclicoutput,
|
||||||
|
stderr=self.__nullfp,
|
||||||
|
stdin=self.__nullfp)
|
||||||
|
self.__started = True
|
||||||
|
- except OSError:
|
||||||
|
+ except OSError:
|
||||||
|
self.__started = False
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From 6c89a0dcb9133792fc755d2b7370b81b5471753e Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Tue, 8 May 2018 16:35:59 +0100
|
||||||
|
Subject: [PATCH 16/18] rteval: cyclictest.py: Remove -n for cyclictest options
|
||||||
|
|
||||||
|
Upstream cyclictest made clock_nanosleep the default and removed
|
||||||
|
the -n option. Passing it as an option now creates an error, so remove
|
||||||
|
that here too.
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/modules/measurement/cyclictest.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
|
||||||
|
index f6c6d1353fac..04f78d1c9612 100644
|
||||||
|
--- a/rteval/modules/measurement/cyclictest.py
|
||||||
|
+++ b/rteval/modules/measurement/cyclictest.py
|
||||||
|
@@ -259,7 +259,7 @@ class Cyclictest(rtevalModulePrototype):
|
||||||
|
|
||||||
|
self.__cmd = ['cyclictest',
|
||||||
|
self.__interval,
|
||||||
|
- '-qmun',
|
||||||
|
+ '-qmu',
|
||||||
|
'-h %d' % self.__buckets,
|
||||||
|
"-p%d" % int(self.__priority),
|
||||||
|
]
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
29
SOURCES/rteval-fix-rtevalclient-import.patch
Normal file
29
SOURCES/rteval-fix-rtevalclient-import.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 989eb650c0171a3d79e33986627ed4d5fb970b46 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiri Kastner <jkastner@redhat.com>
|
||||||
|
Date: Thu, 2 Aug 2018 16:37:15 +0200
|
||||||
|
Subject: [PATCH] rteval: fix rtevalclient import
|
||||||
|
|
||||||
|
Signed-off-by: Jiri Kastner <jkastner@redhat.com>
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/rtevalXMLRPC.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/rtevalXMLRPC.py b/rteval/rtevalXMLRPC.py
|
||||||
|
index 7b2d207e0088..54bc114099d9 100644
|
||||||
|
--- a/rteval/rtevalXMLRPC.py
|
||||||
|
+++ b/rteval/rtevalXMLRPC.py
|
||||||
|
@@ -24,8 +24,8 @@
|
||||||
|
# are deemed to be part of the source code.
|
||||||
|
#
|
||||||
|
|
||||||
|
-import socket, time
|
||||||
|
-import rtevalclient, xmlrpc.client
|
||||||
|
+import socket, time, xmlrpc.client
|
||||||
|
+from .rtevalclient import rtevalclient
|
||||||
|
from .Log import Log
|
||||||
|
|
||||||
|
class rtevalXMLRPC(object):
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 5ed68ae77ec05786aab99fbed35d0347a5d25997 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Fri, 20 Oct 2017 12:17:49 +0100
|
||||||
|
Subject: [PATCH 14/18] rteval: hackbench.py: Do not sleep if hackbench fails
|
||||||
|
from memory errors
|
||||||
|
|
||||||
|
Do not sleep if hackbench fails to launch due to out-of-memory errors.
|
||||||
|
This can cause rteval to execute correctly without applying a full
|
||||||
|
stress load. Instead, exit gracefully
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/modules/loads/hackbench.py | 12 ++++--------
|
||||||
|
1 file changed, 4 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/modules/loads/hackbench.py b/rteval/modules/loads/hackbench.py
|
||||||
|
index 8456a24f4bba..9d3f6c834356 100644
|
||||||
|
--- a/rteval/modules/loads/hackbench.py
|
||||||
|
+++ b/rteval/modules/loads/hackbench.py
|
||||||
|
@@ -150,14 +150,10 @@ class Hackbench(CommandLineLoad):
|
||||||
|
except OSError, e:
|
||||||
|
if e.errno != errno.ENOMEM:
|
||||||
|
raise e
|
||||||
|
- # Catch out-of-memory errors and wait a bit to (hopefully)
|
||||||
|
- # ease memory pressure
|
||||||
|
- self._log(Log.DEBUG, "ERROR: %s, sleeping for %f seconds" % (e.strerror, self.__err_sleep))
|
||||||
|
- time.sleep(self.__err_sleep)
|
||||||
|
- if self.__err_sleep < 60.0:
|
||||||
|
- self.__err_sleep *= 2.0
|
||||||
|
- if self.__err_sleep > 60.0:
|
||||||
|
- self.__err_sleep = 60.0
|
||||||
|
+ # Exit gracefully without a traceback for out-of-memory errors
|
||||||
|
+ self._log(Log.DEBUG, "ERROR, ENOMEM while trying to launch hackbench")
|
||||||
|
+ print("out-of-memory trying to launch hackbench, exiting")
|
||||||
|
+ sys.exit(-1)
|
||||||
|
|
||||||
|
|
||||||
|
def WorkloadAlive(self):
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
36
SOURCES/rteval-remaining-time-fix.patch
Normal file
36
SOURCES/rteval-remaining-time-fix.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 69a848c0030d39a9546253b27b060634852bf8e9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiri Kastner <jkastner@redhat.com>
|
||||||
|
Date: Fri, 3 Aug 2018 13:09:56 +0200
|
||||||
|
Subject: [PATCH] rteval: remaining time fix
|
||||||
|
|
||||||
|
in python3 division of integer/integer results in float.
|
||||||
|
casting division to int gives us needed numbers.
|
||||||
|
|
||||||
|
Signed-off-by: Jiri Kastner <jkastner@redhat.com>
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/__init__.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/__init__.py b/rteval/__init__.py
|
||||||
|
index 176715f74ebd..88145b7eba1c 100644
|
||||||
|
--- a/rteval/__init__.py
|
||||||
|
+++ b/rteval/__init__.py
|
||||||
|
@@ -116,11 +116,11 @@ class RtEval(rtevalReport):
|
||||||
|
|
||||||
|
def __show_remaining_time(self, remaining):
|
||||||
|
r = int(remaining)
|
||||||
|
- days = r / 86400
|
||||||
|
+ days = int(r / 86400)
|
||||||
|
if days: r = r - (days * 86400)
|
||||||
|
- hours = r / 3600
|
||||||
|
+ hours = int(r / 3600)
|
||||||
|
if hours: r = r - (hours * 3600)
|
||||||
|
- minutes = r / 60
|
||||||
|
+ minutes = int(r / 60)
|
||||||
|
if minutes: r = r - (minutes * 60)
|
||||||
|
print("rteval time remaining: %d days, %d hours, %d minutes, %d seconds" % (days, hours, minutes, r))
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
33
SOURCES/rteval-remove-unnecssary-encode.patch
Normal file
33
SOURCES/rteval-remove-unnecssary-encode.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 4c64b6b5ef7eba57c0892407816223c3f226b9ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Fri, 10 Aug 2018 17:44:35 +0200
|
||||||
|
Subject: [PATCH] rteval: remove unnecssary encode
|
||||||
|
|
||||||
|
When running $ rteval --summarize <run-tarball>
|
||||||
|
|
||||||
|
the newlines are missing and the output comes out as one big line.
|
||||||
|
|
||||||
|
The addition of the encoding for python3 compatibility has made the
|
||||||
|
encoding here unnessary and in fact it causes problems, so remove it
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval-cmd | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rteval-cmd b/rteval-cmd
|
||||||
|
index 739a929316a3..404d4ca0eb37 100755
|
||||||
|
--- a/rteval-cmd
|
||||||
|
+++ b/rteval-cmd
|
||||||
|
@@ -83,7 +83,7 @@ def summarize(repfile, xslt):
|
||||||
|
|
||||||
|
# Parse and print the report through the XSLT template - preserve proper encoding
|
||||||
|
resdoc = xsltprs(xmldoc)
|
||||||
|
- print(str(resdoc).encode('UTF-8'))
|
||||||
|
+ print(str(resdoc))
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
del resdoc
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
28
SOURCES/rteval-setup.py-Open-byte-like-object.patch
Normal file
28
SOURCES/rteval-setup.py-Open-byte-like-object.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From b64537b1530b7918618f925ea7ccc3b119a8b471 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Wed, 30 May 2018 13:12:21 +0100
|
||||||
|
Subject: [PATCH] rteval: setup.py: Open byte like object
|
||||||
|
|
||||||
|
python3 differentiates between text and binary data
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
setup.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index fc78a93c8793..95efa905f4d1 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -28,7 +28,7 @@ from dist import RTEVAL_VERSION
|
||||||
|
|
||||||
|
# Compress the man page, so distutil will only care for the compressed file
|
||||||
|
mangz = gzip.GzipFile('dist/rteval.8.gz', 'w', 9)
|
||||||
|
-man = open('doc/rteval.8', 'r')
|
||||||
|
+man = open('doc/rteval.8', 'rb')
|
||||||
|
mangz.writelines(man)
|
||||||
|
man.close()
|
||||||
|
mangz.close()
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
From 42d724f1a68815ecf7b44c7a2b9001363c93f4ce Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Thu, 18 May 2017 13:32:48 +0200
|
||||||
|
Subject: [PATCH 08/18] rteval: systopology.py: Remove underscore from sysread
|
||||||
|
|
||||||
|
Remove underscore from sysread.
|
||||||
|
I'm eseentially backporting this comment from the obsolete file
|
||||||
|
rteval/sysinfo/systopology.py
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/systopology.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/systopology.py b/rteval/systopology.py
|
||||||
|
index 7c0985e9d26e..fc3876c20bc9 100644
|
||||||
|
--- a/rteval/systopology.py
|
||||||
|
+++ b/rteval/systopology.py
|
||||||
|
@@ -27,7 +27,7 @@ import os, sys
|
||||||
|
import os.path
|
||||||
|
import glob
|
||||||
|
|
||||||
|
-def _sysread(path, obj):
|
||||||
|
+def sysread(path, obj):
|
||||||
|
fp = open(os.path.join(path,obj), "r")
|
||||||
|
return fp.readline().strip()
|
||||||
|
|
||||||
|
@@ -117,7 +117,7 @@ class CpuList(object):
|
||||||
|
return True
|
||||||
|
path = os.path.join(CpuList.cpupath,'cpu%d' % n)
|
||||||
|
if os.path.exists(path):
|
||||||
|
- return _sysread(path, "online") == 1
|
||||||
|
+ return sysread(path, "online") == 1
|
||||||
|
return False
|
||||||
|
|
||||||
|
#
|
||||||
|
@@ -132,7 +132,7 @@ class NumaNode(object):
|
||||||
|
def __init__(self, path):
|
||||||
|
self.path = path
|
||||||
|
self.nodeid = int(os.path.basename(path)[4:].strip())
|
||||||
|
- self.cpus = CpuList(_sysread(self.path, "cpulist"))
|
||||||
|
+ self.cpus = CpuList(sysread(self.path, "cpulist"))
|
||||||
|
self.getmeminfo()
|
||||||
|
|
||||||
|
# function for the 'in' operator
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
32
SOURCES/rtevalReport.py-Fix-time-format-in-report.patch
Normal file
32
SOURCES/rtevalReport.py-Fix-time-format-in-report.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 8a704e7b12b132d4e161bcc49f009a05350b98ca Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Fri, 12 Oct 2018 00:49:33 +0200
|
||||||
|
Subject: [PATCH] rteval: rtevalReport.py: Fix time format in report
|
||||||
|
|
||||||
|
Another case where python3 division generates floats
|
||||||
|
This can be fixed by converting the result to an int
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/rtevalReport.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/rtevalReport.py b/rteval/rtevalReport.py
|
||||||
|
index 55594ae8f0bc..a18dd41b36fc 100644
|
||||||
|
--- a/rteval/rtevalReport.py
|
||||||
|
+++ b/rteval/rtevalReport.py
|
||||||
|
@@ -48,9 +48,9 @@ class rtevalReport(object):
|
||||||
|
|
||||||
|
duration = datetime.now() - measure_start
|
||||||
|
seconds = duration.seconds
|
||||||
|
- hours = seconds / 3600
|
||||||
|
+ hours = int(seconds / 3600)
|
||||||
|
if hours: seconds -= (hours * 3600)
|
||||||
|
- minutes = seconds / 60
|
||||||
|
+ minutes = int(seconds / 60)
|
||||||
|
if minutes: seconds -= (minutes * 60)
|
||||||
|
|
||||||
|
# Start new XML report
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
From 74432794f6bf0bcb984cf53982e9495163b76b3a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clark Williams <williams@redhat.com>
|
||||||
|
Date: Tue, 12 Sep 2017 13:36:31 -0500
|
||||||
|
Subject: [PATCH 10/18] sysinfo: don't fail if we don't know the init system
|
||||||
|
|
||||||
|
Signed-off-by: Clark Williams <williams@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/sysinfo/services.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/services.py b/rteval/sysinfo/services.py
|
||||||
|
index e7c2fe0dc00e..6465d35e1b73 100644
|
||||||
|
--- a/rteval/sysinfo/services.py
|
||||||
|
+++ b/rteval/sysinfo/services.py
|
||||||
|
@@ -95,7 +95,8 @@ class SystemServices(object):
|
||||||
|
self.__log(Log.DEBUG, "Using sysvinit to get services status")
|
||||||
|
return self.__get_services_sysvinit()
|
||||||
|
else:
|
||||||
|
- raise RuntimeError, "Unknown init system (%s)" % self.__init
|
||||||
|
+ self.__init = 'container'
|
||||||
|
+ self.__log(Log.DEBUG, "Running inside container")
|
||||||
|
return {}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -133,4 +134,3 @@ def unit_test(rootdir):
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(unit_test(None))
|
||||||
|
-
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
27
SOURCES/update-rt-tests-URL-in-docs-README.patch
Normal file
27
SOURCES/update-rt-tests-URL-in-docs-README.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From ed5cb77f7bcfee9833e41d675246cec310143179 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clark Williams <williams@redhat.com>
|
||||||
|
Date: Fri, 17 Mar 2017 16:44:32 -0500
|
||||||
|
Subject: [PATCH 01/18] update rt-tests URL in docs/README
|
||||||
|
|
||||||
|
Signed-off-by: Clark Williams <williams@redhat.com>
|
||||||
|
---
|
||||||
|
README | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/README b/README
|
||||||
|
index 1fcc34749394..62b1cd25f4fd 100644
|
||||||
|
--- a/README
|
||||||
|
+++ b/README
|
||||||
|
@@ -35,8 +35,7 @@ libxml2-python
|
||||||
|
http://xmlsoft.org/
|
||||||
|
|
||||||
|
rt-tests
|
||||||
|
- git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
|
||||||
|
-
|
||||||
|
+ git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
|
||||||
|
|
||||||
|
Clark Williams <williams@redhat.com> wrote rteval
|
||||||
|
David Sommerseth <davids@redhat.com> wrote the XML-RPC and database
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
622
SPECS/rteval.spec
Normal file
622
SPECS/rteval.spec
Normal file
@ -0,0 +1,622 @@
|
|||||||
|
Name: rteval
|
||||||
|
Version: 2.14
|
||||||
|
Release: 25%{?dist}
|
||||||
|
Summary: Utility to evaluate system suitability for RT Linux
|
||||||
|
|
||||||
|
Group: Development/Tools
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://git.kernel.org/?p=linux/kernel/git/clrkwllms/rteval.git
|
||||||
|
Source0: rteval-%{version}.tar.bz2
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
Requires: platform-python
|
||||||
|
Requires: python3-schedutils python3-ethtool python3-lxml
|
||||||
|
Requires: python3-dmidecode >= 3.10
|
||||||
|
Requires: rt-tests >= 0.97
|
||||||
|
Requires: rteval-loads >= 1.4
|
||||||
|
Requires: rteval-common => %{version}-%{release}
|
||||||
|
Requires: sysstat
|
||||||
|
Requires: bzip2
|
||||||
|
Requires: kernel-headers
|
||||||
|
Requires: sos
|
||||||
|
Requires: tar
|
||||||
|
BuildArch: noarch
|
||||||
|
Obsoletes: rteval <= 1.7
|
||||||
|
Requires: numactl
|
||||||
|
|
||||||
|
%description
|
||||||
|
The rteval script is a utility for measuring various aspects of
|
||||||
|
realtime behavior on a system under load. The script unpacks the
|
||||||
|
kernel source, and then goes into a loop, running hackbench and
|
||||||
|
compiling a kernel tree. During that loop the cyclictest program
|
||||||
|
is run to measure event response time. After the run time completes,
|
||||||
|
a statistical analysis of the event response times is done and printed
|
||||||
|
to the screen.
|
||||||
|
|
||||||
|
|
||||||
|
%package common
|
||||||
|
Summary: Common rteval files
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
Patch1: update-rt-tests-URL-in-docs-README.patch
|
||||||
|
Patch2: rteval-Improve-error-handling-if-cyclictest-fails-to.patch
|
||||||
|
Patch3: rteval-systopology.py-Remove-underscore-from-sysread.patch
|
||||||
|
Patch4: rteval-Remove-rteval-sysinfo-systopology.py.patch
|
||||||
|
Patch5: sysinfo-don-t-fail-if-we-don-t-know-the-init-system.patch
|
||||||
|
Patch6: rteval-add-the-proc-cmdline-to-rteval-report.patch
|
||||||
|
Patch7: rteval-hackbench.py-Do-not-sleep-if-hackbench-fails-.patch
|
||||||
|
Patch8: rteval-cyclictest.py-Fix-spacing-problems.patch
|
||||||
|
Patch9: rteval-cyclictest.py-Remove-n-for-cyclictest-options.patch
|
||||||
|
Patch10: rteval-Explicitly-use-python3.patch
|
||||||
|
Patch11: rteval-2to3-transformations.patch
|
||||||
|
Patch12: rteval-setup.py-Open-byte-like-object.patch
|
||||||
|
Patch13: python-setup.py-Comment-out-os.unlink.patch
|
||||||
|
Patch14: rteval-Changes-for-python3-and-rt-tests-with-automat.patch
|
||||||
|
Patch15: rteval-fix-rtevalclient-import.patch
|
||||||
|
Patch16: rteval-remaining-time-fix.patch
|
||||||
|
Patch17: rteval-remove-unnecssary-encode.patch
|
||||||
|
Patch18: rtevalReport.py-Fix-time-format-in-report.patch
|
||||||
|
Patch19: rteval-Disable-options-for-remote-xmlrpc-server.patch
|
||||||
|
Patch20: rteval-Fix-typo-in-debug-output.patch
|
||||||
|
|
||||||
|
%description common
|
||||||
|
Common files used by rteval, rteval-xmlrpc and rteval-parser
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
%patch6 -p1
|
||||||
|
%patch7 -p1
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
|
%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
|
%patch13 -p1
|
||||||
|
%patch14 -p1
|
||||||
|
%patch15 -p1
|
||||||
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
|
||||||
|
# version sanity check (make sure specfile and rteval.py match)
|
||||||
|
#cp rteval/version.py rtevalversion.py
|
||||||
|
#srcver=$(%{__python3} -c "from rtevalversion import RTEVAL_VERSION; print RTEVAL_VERSION")
|
||||||
|
#rm -rf rtevalversion.py
|
||||||
|
#if [ $srcver != %{version} ]; then
|
||||||
|
# printf "\n***\n*** rteval spec file version do not match the rteval/rteval.py version\n***\n\n"
|
||||||
|
# exit -1
|
||||||
|
#fi
|
||||||
|
|
||||||
|
%build
|
||||||
|
%{__python3} setup.py build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%{__python3} setup.py install --root=$RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%files common
|
||||||
|
%doc COPYING
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{python3_sitelib}/rteval/rtevalclient.py*
|
||||||
|
%{python3_sitelib}/rteval/rtevalConfig.py*
|
||||||
|
%{python3_sitelib}/rteval/rtevalXMLRPC.py*
|
||||||
|
%{python3_sitelib}/rteval/version.py*
|
||||||
|
%{python3_sitelib}/rteval/Log.py*
|
||||||
|
%{python3_sitelib}/rteval/misc.py*
|
||||||
|
%{python3_sitelib}/rteval/systopology.py*
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python3_sitelib}/*.egg-info
|
||||||
|
|
||||||
|
%doc COPYING README doc/rteval.txt
|
||||||
|
%{_mandir}/man8/rteval.8.gz
|
||||||
|
%config(noreplace) %{_sysconfdir}/rteval.conf
|
||||||
|
%{_datadir}/%{name}/rteval_*.xsl
|
||||||
|
%{python3_sitelib}/rteval/__init__.py*
|
||||||
|
%{python3_sitelib}/rteval/rtevalMailer.py*
|
||||||
|
%{python3_sitelib}/rteval/rtevalReport.py*
|
||||||
|
%{python3_sitelib}/rteval/xmlout.py*
|
||||||
|
%{python3_sitelib}/rteval/modules
|
||||||
|
%{python3_sitelib}/rteval/sysinfo
|
||||||
|
/usr/bin/rteval
|
||||||
|
|
||||||
|
%{python3_sitelib}/rteval/__pycache__/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Apr 02 2019 Clark Williams <williams@redhat.com> - 2.14.25
|
||||||
|
- fix incorrect test logic in gating tests
|
||||||
|
Resolves: rhbz#1682426
|
||||||
|
|
||||||
|
* Mon Apr 02 2019 Clark Williams <williams@redhat.com> - 2.14.24
|
||||||
|
- add rteval-loads dependency to gating
|
||||||
|
- added second test (short_run) to gating
|
||||||
|
Resolves: rhbz#1682426
|
||||||
|
|
||||||
|
* Mon Apr 01 2019 Clark Williams <williams@redhat.com> - 2.14.23
|
||||||
|
- add missing gating.yaml
|
||||||
|
Resolves: rhbz#1682426
|
||||||
|
|
||||||
|
* Mon Apr 01 2019 Clark Williams <williams@redhat.com> - 2.14.22
|
||||||
|
- checkin OSCI gating framework
|
||||||
|
Resolves: rhbz#1682426
|
||||||
|
|
||||||
|
* Mon Dec 17 2018 John Kacur <jkacur@redhat.com> - 2.14-21
|
||||||
|
- Fix typo in debug output
|
||||||
|
Resolves: rhbz#1659974
|
||||||
|
|
||||||
|
* Tue Oct 16 2018 John Kacur <jkacur@redhat.com> - 2.14-20
|
||||||
|
- Disable options for the remote xmlrpc server, not currently supported
|
||||||
|
Resolves: rhbz#1628322
|
||||||
|
|
||||||
|
* Sat Oct 13 2018 John Kacur <jkacur@redhat.com> - 2.14-19
|
||||||
|
- Fix Requires for python3
|
||||||
|
Resolves: rhbz#1638135
|
||||||
|
|
||||||
|
* Fri Oct 12 2018 John Kacur <jkacur@redhat.com> - 2.14-18
|
||||||
|
- Fix time format in report
|
||||||
|
Resolves: rhbz#1630733
|
||||||
|
|
||||||
|
* Fri Sep 28 2018 John Kacur <jkacur@redhat.com> - 2.14-17
|
||||||
|
- Change python3 to platform-python
|
||||||
|
Resolves: rhbz#1633619
|
||||||
|
|
||||||
|
* Fri Aug 10 2018 John Kacur <jkacur@redhat.com> - 2.14-16
|
||||||
|
- remove unnecssary encode that is causing problems
|
||||||
|
Resolves: rhbz#1614384
|
||||||
|
|
||||||
|
* Tue Aug 07 2018 John Kacur <jkacur@redhat.com> - 2.14-15
|
||||||
|
- tar is required in kcompile.py. Make it a Require in the specfile
|
||||||
|
Resolves: rhbz#1612992
|
||||||
|
|
||||||
|
* Fri Aug 03 2018 John Kacur <jkacur@redhat.com> - 2.14-14
|
||||||
|
- fix python3 division of integers
|
||||||
|
Resolves: rhbz#1611813
|
||||||
|
|
||||||
|
* Fri Aug 03 2018 John Kacur <jkacur@redhat.com> - 2.14-13
|
||||||
|
-fix rtevalclient import
|
||||||
|
Resolves: rhbz#1608464
|
||||||
|
|
||||||
|
* Sat Jun 23 2018 John Kacur <jkacur@redhat.com> - 2.14-12
|
||||||
|
- More python3 changes
|
||||||
|
- Changes for the new version of rt-tests that automates --numa
|
||||||
|
Resolves: rhbz#1594287
|
||||||
|
|
||||||
|
* Tue Jun 12 2018 John Kacur jkacur@redhat.com> - 2.14-11
|
||||||
|
- More specfile changes for python3 build
|
||||||
|
Resolves: rhbz#1518699
|
||||||
|
|
||||||
|
* Wed May 30 2018 John Kacur <jkacur@redhat.com> - 2.14-10
|
||||||
|
- Chnages for a python3 build
|
||||||
|
Resolves: rhbz#1518699
|
||||||
|
|
||||||
|
* Fri Oct 27 2017 John Kacur <jkacur@redhat.com> - 2.14-9
|
||||||
|
- Remove redundant files for clarity.
|
||||||
|
Resolves: rhbz1504162
|
||||||
|
|
||||||
|
* Fri Oct 27 2017 John Kacur <jkacur@redhat.com> - 2.14-8
|
||||||
|
- Don't fail if we don't know the init system
|
||||||
|
Resolves: rhbz1504168
|
||||||
|
|
||||||
|
* Fri Oct 20 2017 John Kacur <jkacur@redhat.com> - 2.14-7
|
||||||
|
- Remove underscore from sysread function in systopology.py
|
||||||
|
Resolves: rhbz1504164
|
||||||
|
|
||||||
|
* Fri Oct 20 2017 John Kacur <jkacur@redhat.com> - 2.14-6
|
||||||
|
- Improve error handling if cyclictest fails to run
|
||||||
|
Resolves: rhbz1504159
|
||||||
|
|
||||||
|
* Fri Oct 20 2017 John Kacur <jkacur@redhat.com> - 2.14-5
|
||||||
|
- Remove trace-cmd from Requires, since it is not needed to run rteval
|
||||||
|
Resolves: rhbz1504173
|
||||||
|
|
||||||
|
* Mon Oct 16 2017 John Kacur <jkacur@redhat.com> - 2.14-4
|
||||||
|
- Don't sleep if hackbench fails to launch due to out-of-memory
|
||||||
|
- Instead, exit gracefully
|
||||||
|
Resolves: rhbz1380144
|
||||||
|
|
||||||
|
* Wed Oct 11 2017 John Kacur <jkacur@redhat.com> - 2.14-3
|
||||||
|
- Add sos as a requires since this package is needed to run sosreport
|
||||||
|
Resolves: rhbz1500722
|
||||||
|
|
||||||
|
* Wed Oct 11 2017 John Kacur <jkacur@redhat.com> - 2.14-2
|
||||||
|
- Add the contents of the kernel boot command line to the summary report
|
||||||
|
Resolves: rhbz1452788
|
||||||
|
|
||||||
|
* Thu Mar 16 2017 Clark Williams <williams@redhat.com> - 2.14-1
|
||||||
|
- removed leftover import of systopology from sysinfo
|
||||||
|
|
||||||
|
* Wed Mar 15 2017 Clark Williams <williams@redhat.com> - 2.13-2
|
||||||
|
- Updated specfile to correct version and bz [1382155]
|
||||||
|
|
||||||
|
* Tue Sep 20 2016 Clark Williams <williams@rehdat.com> - 2.12-1
|
||||||
|
- handle empty environment variables SUDO_USER and USER [1312057]
|
||||||
|
|
||||||
|
* Tue Aug 30 2016 Clark Williams <williams@rehdat.com> - 2.11-1
|
||||||
|
- make sure we return non-zero for early exit from tests
|
||||||
|
|
||||||
|
* Wed Aug 3 2016 Clark Williams <williams@rehdat.com> - 2.10-1
|
||||||
|
- bumped version for RHEL 7.3 release
|
||||||
|
|
||||||
|
* Mon May 9 2016 Clark Williams <williams@redhat.com> - 2.9.1
|
||||||
|
- default cpulist for modules if only one specified [1333831]
|
||||||
|
|
||||||
|
* Tue Apr 26 2016 Clark Williams <williams@redhat.com> - 2.8.1
|
||||||
|
- add the --version option to print the rteval version
|
||||||
|
- made the --cyclictest-breaktrace option work properly [1209986]
|
||||||
|
|
||||||
|
* Fri Apr 1 2016 Clark Williams <williams@redhat.com> - 2.7.1
|
||||||
|
- treat SIGINT and SIGTERM as valid end-of-run events [1278757]
|
||||||
|
- added cpulist options to man page
|
||||||
|
|
||||||
|
* Thu Feb 11 2016 Clark Williams <williams@redhat.com> - 2.6.1
|
||||||
|
- update to make --loads-cpulist and --measurement-cpulist work [1306437]
|
||||||
|
|
||||||
|
* Thu Dec 10 2015 Clark Williams <williams@refhat.com> - 2.5-1
|
||||||
|
- stop using old numactl --cpubind argument
|
||||||
|
|
||||||
|
* Wed Dec 9 2015 Clark Williams <williams@refhat.com> - 2.4.2
|
||||||
|
- added Require of package numactl
|
||||||
|
|
||||||
|
* Tue Nov 17 2015 Clark Williams <williams@refhat.com> - 2.4.1
|
||||||
|
- rework hackbench load to not generate cross-node traffic [1282826]
|
||||||
|
|
||||||
|
* Wed Aug 12 2015 Clark Williams <williams@redhat.com> - 2.3-1
|
||||||
|
- comment out HWLatDetect module from default config [1245699]
|
||||||
|
|
||||||
|
* Wed Jun 10 2015 Clark Williams <williams@redhat.com> - 2.2-1
|
||||||
|
- add --loads-cpulist and --measurement-cpulist to allow cpu placement [1230401]
|
||||||
|
|
||||||
|
* Thu Apr 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> - 2.1-8
|
||||||
|
- load default configs when no config file is specified (Jiri kastner) [1212452]
|
||||||
|
|
||||||
|
* Wed Jan 14 2015 Clark Williams <williams@redhat.com> - 2.1-7
|
||||||
|
- added requires of bzip2 to specfile [1151567]
|
||||||
|
|
||||||
|
* Thu Jan 8 2015 Clark Williams <williams@redhat.com> - 2.1-6
|
||||||
|
- cleaned up product documentation [1173315]
|
||||||
|
|
||||||
|
* Mon Nov 10 2014 Luis Claudio R. Goncalves <lgoncalv@redhat.com> - 2.1-5
|
||||||
|
- rebuild for RHEL-7.1 (1151567)
|
||||||
|
|
||||||
|
* Thu Mar 27 2014 Clark Williams <williams@redhat.com> - 2.1-4
|
||||||
|
- cherry-picked old commit to deal with installdir problem
|
||||||
|
|
||||||
|
* Wed Mar 26 2014 Clark Williams <williams@redhat.com> - 2.1-3
|
||||||
|
- added sysstat requires to specfile
|
||||||
|
|
||||||
|
* Tue Mar 12 2013 David Sommerseth <davids@redhat.com> - 2.1-2
|
||||||
|
- Migrated from libxslt-python to python-lxml
|
||||||
|
|
||||||
|
* Fri Jan 18 2013 David Sommerseth <davids@redhat.com> - 2.1-1
|
||||||
|
- Made some log lines clearer
|
||||||
|
- cyclictest: Added --cyclictest-breaktrace feature
|
||||||
|
- cyclictest: Removed --cyclictest-distance option
|
||||||
|
- cyclictest: Use a tempfile buffer for cyclictest's stdout data
|
||||||
|
- cyclictest: Report if breaktrace was triggered
|
||||||
|
- cyclictest: Make the unit test work again
|
||||||
|
- cyclictest: Only log and show statistic data when samples are collected
|
||||||
|
- Copyright updates
|
||||||
|
|
||||||
|
* Thu Jan 17 2013 David Sommerseth <davids@redhat.com> - 2.0.1-1
|
||||||
|
- Fix up type casting in the core module code
|
||||||
|
- hwlatdetect: Add some more useful debug info
|
||||||
|
- Reworked the run logic for modules - allow them to flag they won't run
|
||||||
|
- Fixed a few log messages in load modules
|
||||||
|
- Add a 30 seconds sleep before unleashing the measurement threads
|
||||||
|
|
||||||
|
* Thu Jan 10 2013 David Sommerseth <davids@redhat.com> - 2.0-3
|
||||||
|
- Separate out RTEVAL_VERSION into rteval.version, to avoid
|
||||||
|
massive BuildRequirements
|
||||||
|
|
||||||
|
* Fri Dec 21 2012 David Sommerseth <davids@redhat.com> - 2.0-2
|
||||||
|
- Split out common files into rteval-common
|
||||||
|
|
||||||
|
* Fri Dec 21 2012 David Sommerseth <davids@redhat.com> - 2.0-1
|
||||||
|
- Updated to rteval v2.0 and reworked spec file to use setup.py directly
|
||||||
|
|
||||||
|
* Tue Oct 23 2012 Clark Williams <williams@redhat.com> - 1.36-1
|
||||||
|
- deal with system not having dmidecode python module
|
||||||
|
- make sure to cast priority parameter to int
|
||||||
|
- from Raphaël Beamonte <raphael.beamonte@gmail.com>:
|
||||||
|
- Rewrite of the get_kthreads method to make it cross-distribution
|
||||||
|
- Adds getcmdpath method to use which to locate the used commands
|
||||||
|
- Rewrite of the get_services method to make it cross-distribution
|
||||||
|
|
||||||
|
* Mon Apr 2 2012 Clark Williams <williams@redhat.com> - 1.35-1
|
||||||
|
- fix thinko where SIGINT and SIGTERM handlers were commented out
|
||||||
|
|
||||||
|
* Thu Jan 12 2012 Clark Williams <williams@redhat.com> - 1.34-1
|
||||||
|
- fix missing config merge in rteval.py to pass parameters
|
||||||
|
down to cyclictest
|
||||||
|
- modify hackbench to use helper function to start process
|
||||||
|
|
||||||
|
* Sat May 14 2011 Clark Williams <williams@redhat.com> - 1.33-1
|
||||||
|
- modify hackbench cutoff to be 0.75GB/core
|
||||||
|
|
||||||
|
* Mon Aug 23 2010 Clark Williams <williams@redhat.com> - 1.32-1
|
||||||
|
- update docs
|
||||||
|
- refactor some RTEval methods to utility functions
|
||||||
|
- modify hackbench.py not to run under low memory conditions
|
||||||
|
- clean up XML generation to deal with new hackbench code
|
||||||
|
- clean up XSL code to deal with new XML 'run' attribute
|
||||||
|
- from David Sommerseth <davids@redhat.com>:
|
||||||
|
- improve CPU socket counting logic
|
||||||
|
- delay log directory creation until actually needed
|
||||||
|
- from Gowrishankar <gowrishankar.m@in.ibm.com>:
|
||||||
|
- check if the core id really exists (multithreading fix)
|
||||||
|
|
||||||
|
* Mon Jul 26 2010 Clark Williams <williams@redhat.com> - 1.31-1
|
||||||
|
- from David Sommerseth <davids@redhat.com>:
|
||||||
|
- Updated hackbench implementation to avoid overusing resources
|
||||||
|
- Don't show NUMA node information if it's missing in the summary.xml
|
||||||
|
- Show CPU cores properly
|
||||||
|
|
||||||
|
* Wed Jul 21 2010 Clark Williams <williams@redhat.com> - 1.30-1
|
||||||
|
- added code to hackbench to try to detect and ease memory pressure
|
||||||
|
|
||||||
|
* Fri Jul 16 2010 Clark Williams <williams@redhat.com> - 1.29-1
|
||||||
|
- fixed incorrect type value in kcompile.py
|
||||||
|
|
||||||
|
* Fri Jul 16 2010 Clark Williams <williams@redhat.com> - 1.28-1
|
||||||
|
- added logic to loads to adjust number of jobs based on ratio
|
||||||
|
of memory per core
|
||||||
|
|
||||||
|
* Wed Jul 14 2010 Clark Williams <williams@redhat.com> - 1.27-1
|
||||||
|
- modified hackbench to go back to using threads rather than
|
||||||
|
processes for units of work
|
||||||
|
- added memory size, number of numa nodes and run duration to the
|
||||||
|
parameter dictionary passed to all loads and cyclictest
|
||||||
|
|
||||||
|
* Tue Jul 13 2010 Clark Williams <williams@redhat.com> - 1.26-1
|
||||||
|
- modified hackbench parameters to reduce memory consumption
|
||||||
|
|
||||||
|
* Mon Jul 12 2010 Clark Williams <williams@redhat.com> - 1.25-1
|
||||||
|
- fixed cyclictest bug that caused everything to be uniprocessor
|
||||||
|
- updated source copyrights to 2010
|
||||||
|
|
||||||
|
* Fri Jul 9 2010 Clark Williams <williams@redhat.com> - 1.24-1
|
||||||
|
- modified hackbench arguments and added new parameters for
|
||||||
|
hackbench in rteval.conf
|
||||||
|
|
||||||
|
* Thu Jul 8 2010 Clark Williams <williams@redhat.com> - 1.23-1
|
||||||
|
- version bump to deal with out-of-sync cvs issue
|
||||||
|
|
||||||
|
* Thu Jul 8 2010 Clark Williams <williams@redhat.com> - 1.22-1
|
||||||
|
- merged David Sommerseth <davids@redhat.com> changes to use
|
||||||
|
hackbench from rt-tests packages rather than carry local copy
|
||||||
|
- converted all loads and cyclictest to pass __init__ parameters
|
||||||
|
in a dictionary rather than as discrete parameters
|
||||||
|
- added logging for load output
|
||||||
|
|
||||||
|
* Tue Apr 13 2010 Clark Williams <williams@redhat.com> - 1.21-1
|
||||||
|
- from Luis Claudio Goncalves <lgoncalv@redhat.com>:
|
||||||
|
- remove unecessary wait() call in cyclictest.py
|
||||||
|
- close /dev/null after using it
|
||||||
|
- call subprocess.wait() when needed
|
||||||
|
- remove delayloop code in hackbench.py
|
||||||
|
- from David Sommerseth <davids@redhat.com>:
|
||||||
|
- add SIGINT handler
|
||||||
|
- handle non-root user case
|
||||||
|
- process DMI warnings before command line arguments
|
||||||
|
- added --annotate feature to rteval
|
||||||
|
- updates to xmlrpc code
|
||||||
|
|
||||||
|
* Tue Apr 6 2010 Clark Williams <williams@redhat.com> - 1.20-1
|
||||||
|
- code fixes from Luis Claudio Goncalves <lgoncalv@redhat.com>
|
||||||
|
- from David Sommerseth <davids@redhat.com>:
|
||||||
|
- xmlrpc server updates
|
||||||
|
- cputopology.py for recording topology in xml
|
||||||
|
- added NUMA node recording for run data
|
||||||
|
- rpmlint fixes
|
||||||
|
- added start of rteval whitepaper in docs dir
|
||||||
|
|
||||||
|
* Tue Mar 16 2010 Clark Williams <williams@redhat.com> - 1.19-1
|
||||||
|
- add ability for --summarize to read tarfiles
|
||||||
|
- from David Sommerseth <davids@redhat.com>
|
||||||
|
- gather info about loaded kernel modules for XML file
|
||||||
|
- added child tracking to hackbench to prevent zombies
|
||||||
|
|
||||||
|
* Tue Feb 16 2010 Clark Williams <williams@redhat.com> - 1.18-1
|
||||||
|
- fix usage of python 2.6 features on RHEL5 (python 2.4)
|
||||||
|
|
||||||
|
* Tue Feb 16 2010 Clark Williams <williams@redhat.com> - 1.17-1
|
||||||
|
- added logic to filter non-printables from service status output
|
||||||
|
so that we have legal XML output
|
||||||
|
- added logic to hackbench.py to cleanup properly at the end
|
||||||
|
of the test
|
||||||
|
|
||||||
|
* Thu Feb 11 2010 Clark Williams <williams@redhat.com> - 1.16-1
|
||||||
|
- fix errors in show_remaining_time() introduced because
|
||||||
|
time values are floats rather than ints
|
||||||
|
|
||||||
|
* Thu Feb 11 2010 Clark Williams <williams@redhat.com> - 1.15-1
|
||||||
|
- added logic to use --numa and --smp options of new cyclictest
|
||||||
|
- added countdown report for time remaining in a run
|
||||||
|
|
||||||
|
* Tue Feb 9 2010 Clark Williams <williams@redhat.com> - 1.14-1
|
||||||
|
- David Sommerseth <davids@redhat.com>:
|
||||||
|
merged XMLReport() changes for hwcert suite
|
||||||
|
|
||||||
|
* Tue Dec 22 2009 Clark Williams <williams@redhat.com> - 1.13-1
|
||||||
|
- added cyclictest default initializers
|
||||||
|
- added sanity checks to statistics reduction code
|
||||||
|
- updated release checklist to include origin push
|
||||||
|
- updated Makefile clean and help targets
|
||||||
|
- davids updates (mainly for v7 integration):
|
||||||
|
- Add explicit sys.path directory to the python sitelib+
|
||||||
|
'/rteval'
|
||||||
|
- Send program arguments via RtEval() constructor
|
||||||
|
- Added more DMI data into the summary.xml report
|
||||||
|
- Fixed issue with not including all devices in the
|
||||||
|
OnBoardDeviceInfo tag
|
||||||
|
|
||||||
|
* Thu Dec 3 2009 David Sommerseth <davids@redhat.com> - 1.12-2
|
||||||
|
- fixed Makefile and specfile to include and install the
|
||||||
|
rteval/rteval_histogram_raw.py source file for gaining
|
||||||
|
raw access to histogram data
|
||||||
|
- Removed xmlrpc package during merge against master_ipv4 branch
|
||||||
|
|
||||||
|
* Wed Nov 25 2009 Clark Williams <williams@redhat.com> - 1.12-1
|
||||||
|
- fix incorrect reporting of measurement thread priorities
|
||||||
|
|
||||||
|
* Mon Nov 16 2009 Clark Williams <williams@redhat.com> - 1.11-5
|
||||||
|
- ensure that no double-slashes ("//") appear in the symlink
|
||||||
|
path for /usr/bin/rteval (problem with rpmdiff)
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Clark Williams <williams@redhat.com> - 1.11-4
|
||||||
|
- changed symlink back to install and tracked by %%files
|
||||||
|
|
||||||
|
* Mon Nov 9 2009 Clark Williams <williams@redhat.com> - 1.11-3
|
||||||
|
- changed symlink generation from %%post to %%posttrans
|
||||||
|
|
||||||
|
* Mon Nov 9 2009 Clark Williams <williams@redhat.com> - 1.11-2
|
||||||
|
- fixed incorrect dependency for libxslt
|
||||||
|
|
||||||
|
* Fri Nov 6 2009 Clark Williams <williams@redhat.com> - 1.11-1
|
||||||
|
- added base OS info to XML file and XSL report
|
||||||
|
- created new package rteval-loads for the load source code
|
||||||
|
|
||||||
|
* Wed Nov 4 2009 Clark Williams <williams@redhat.com> - 1.10-1
|
||||||
|
- added config file section for cyclictest and two settable
|
||||||
|
parameters, buckets and interval
|
||||||
|
|
||||||
|
* Thu Oct 29 2009 Clark Williams <williams@redhat.com> - 1.9-1
|
||||||
|
- merged davids updates:
|
||||||
|
-H option (raw histogram data)
|
||||||
|
cleaned up xsl files
|
||||||
|
fixed cpu sorting
|
||||||
|
|
||||||
|
* Mon Oct 26 2009 David Sommerseth <davids@redhat.com> - 1.8-3
|
||||||
|
- Fixed rpmlint complaints
|
||||||
|
|
||||||
|
* Mon Oct 26 2009 David Sommerseth <davids@redhat.com> - 1.8-2
|
||||||
|
- Added xmlrpc package, containing the XML-RPC mod_python modules
|
||||||
|
|
||||||
|
* Tue Oct 20 2009 Clark Williams <williams@redhat.com> - 1.8-1
|
||||||
|
- split kcompile and hackbench into sub-packages
|
||||||
|
- reworked Makefile (and specfile) install/uninstall logic
|
||||||
|
- fixed sysreport incorrect plugin option
|
||||||
|
- catch failure when running on root-squashed NFS
|
||||||
|
|
||||||
|
* Tue Oct 13 2009 Clark Williams <williams@redhat.com> - 1.7-1
|
||||||
|
- added kthread status to xml file
|
||||||
|
- merged davids changes for option processing and additions
|
||||||
|
to xml summary
|
||||||
|
|
||||||
|
* Tue Oct 13 2009 Clark Williams <williams@redhat.com> - 1.6-1
|
||||||
|
- changed stat calculation to loop less
|
||||||
|
- added methods to grab service and kthread status
|
||||||
|
|
||||||
|
* Mon Oct 12 2009 Clark Williams <williams@redhat.com> - 1.5-1
|
||||||
|
- changed cyclictest to use less memory when doing statisics
|
||||||
|
calculations
|
||||||
|
- updated debug output to use module name prefixes
|
||||||
|
- changed option processing to only process config file once
|
||||||
|
|
||||||
|
* Fri Oct 9 2009 Clark Williams <williams@redhat.com> - 1.4-1
|
||||||
|
- changed cyclictest to use histogram rather than sample array
|
||||||
|
- calcuated statistics directly from histogram
|
||||||
|
- changed sample interval to 100us
|
||||||
|
- added -a (affinity) argument to force cpu affinity for
|
||||||
|
measurement threads
|
||||||
|
|
||||||
|
* Thu Sep 24 2009 David Sommerseth <davids@redhat.com> - 1.3-3
|
||||||
|
- Cleaned up the spec file and made rpmlint happy
|
||||||
|
|
||||||
|
* Wed Sep 23 2009 David Sommerseth <davids@redhat.com> - 1.3-2
|
||||||
|
- Removed version number from /usr/share/rteval path
|
||||||
|
|
||||||
|
* Tue Sep 22 2009 Clark Williams <williams@redhat.com> - 1.3-1
|
||||||
|
- changes from davids:
|
||||||
|
* changed report code to sort by processor id
|
||||||
|
* added report submission retry logic
|
||||||
|
* added emailer class
|
||||||
|
|
||||||
|
* Fri Sep 18 2009 Clark Williams <williams@redhat.com> - 1.2-1
|
||||||
|
- added config file handling for modifying load behavior and
|
||||||
|
setting defaults
|
||||||
|
- added units in report per IBM request
|
||||||
|
|
||||||
|
* Wed Aug 26 2009 Clark Williams <williams@redhat.com> - 1.1-2
|
||||||
|
- missed a version change in rteval/rteval.py
|
||||||
|
|
||||||
|
* Wed Aug 26 2009 Clark Williams <williams@redhat.com> - 1.1-1
|
||||||
|
- modified cyclictest.py to start cyclictest threads with a
|
||||||
|
'distance' of zero, meaning they all have the same measurement
|
||||||
|
interval
|
||||||
|
|
||||||
|
* Tue Aug 25 2009 Clark Williams <williams@redhat.com> - 1.0-1
|
||||||
|
- merged davids XMLRPC fixes
|
||||||
|
- fixed --workdir option
|
||||||
|
- verion bump to 1.0
|
||||||
|
|
||||||
|
* Thu Aug 13 2009 Clark Williams <williams@redhat.com> - 0.9-2
|
||||||
|
- fixed problem with incorrect version in rteval.py
|
||||||
|
|
||||||
|
* Tue Aug 4 2009 Clark Williams <williams@redhat.com> - 0.9-1
|
||||||
|
- merged dsommers XMLRPC and database changes
|
||||||
|
- Specify minimum python-dmidecode version, which got native XML support
|
||||||
|
- Added rteval_dmi.xsl
|
||||||
|
- Fixed permission issues in /usr/share/rteval-x.xx
|
||||||
|
|
||||||
|
* Wed Jul 22 2009 Clark Williams <williams@redhat.com> - 0.8-1
|
||||||
|
- added code to capture clocksource info
|
||||||
|
- added code to copy dmesg info to report directory
|
||||||
|
- added code to display clocksource info in report
|
||||||
|
- added --summarize option to display summary of existing report
|
||||||
|
- added helpfile target to Makefile
|
||||||
|
|
||||||
|
* Thu Mar 26 2009 Clark Williams <williams@torg> - 0.7-1
|
||||||
|
- added require for python-schedutils to specfile
|
||||||
|
- added default for cyclictest output file
|
||||||
|
- added help parameter to option parser data
|
||||||
|
- renamed xml output file to summary.xml
|
||||||
|
- added routine to create tarfile of result files
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-6
|
||||||
|
- added code to handle binary data coming from DMI tables
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-5
|
||||||
|
- fixed logic for locating XSL template (williams)
|
||||||
|
- fixed another stupid typo in specfile (williams)
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-4
|
||||||
|
- fixed specfile to install rteval_text.xsl in /usr/share directory
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-3
|
||||||
|
- added Requires for libxslt-python (williams)
|
||||||
|
- fixed race condition in xmlout constructor/destructor (williams)
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-2
|
||||||
|
- added Requires for libxslt (williams)
|
||||||
|
- fixed stupid typo in rteval/rteval.py (williams)
|
||||||
|
|
||||||
|
* Wed Mar 18 2009 Clark Williams <williams@torg> - 0.6-1
|
||||||
|
- added xml output logic (williams, dsommers)
|
||||||
|
- added xlst template for report generator (dsommers)
|
||||||
|
- added dmi/smbios output to report (williams)
|
||||||
|
- added __del__ method to hackbench to cleanup after run (williams)
|
||||||
|
- modified to always keep run data (williams)
|
||||||
|
|
||||||
|
* Fri Feb 20 2009 Clark Williams <williams@torg> - 0.5-1
|
||||||
|
- fixed tab/space mix problem
|
||||||
|
- added report path line to report
|
||||||
|
|
||||||
|
* Fri Feb 20 2009 Clark Williams <williams@torg> - 0.4-1
|
||||||
|
- reworked report output
|
||||||
|
- handle keyboard interrupt better
|
||||||
|
- removed duration mismatch between rteval and cyclictest
|
||||||
|
|
||||||
|
* Mon Feb 2 2009 Clark Williams <williams@torg> - 0.3-1
|
||||||
|
- initial checkin
|
Loading…
Reference in New Issue
Block a user