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