v0.71.0-beta.0 (agent-only)
Pre-releaseThis is a very significant "minor" release of the pbench-agent code base, primarily to deliver the new "Tool Meister" sub-system.
It also delivers:
- Support for RHEL 9 & CentOS Stream 9
- Tool registration kept local to the host where registration happens
- Support of Prometheus and PCP tool data collection
- Independence of Pbench Agent "tool" Scripts
- Reduction of the default tool set to
iostat
,sar
, &vmstat
tools - Removal of gratuitous manipulation of networking firewalls
- Removal of gratuitous software installation, only checks for requirements
- True for both tools and benchmark convenience script requirements
- Change to check command versions instead of RPM versions for
pbench-fio
,pbench-linpack
, andpbench-uperf
- The
pbench-linpack
benchmark convenience script now provides result graphs, JSON data files, and supports execution on one or more local / remote hosts - Required use of
--user
withpbench-move-results
/pbench-copy-results
- Support for the new HTTP PUT method of posting tar balls
- Removal of the dependency on the SCL (Software Collections Library)
- Dropped support for the
pbench-trafficgen
benchmark convenience script - Deprecation announcements for unused benchmark convenience scripts:
pbench-run-benchmark
,pbench-cyclictest
,pbench-dbench
,pbench-iozone
,pbench-migrate
, andpbench-netperf
- Semi-Public CLI Additions, Changes, and Removals
- Many, many, bug fixes and behavioral improvements
You can review the Full ChangeLog on GitHub (all 560+ commits, tags b0.69-bp
to v0.71.0-beta.0
), or read a summary with relevant details below.
We did not bump the "major" release version number with these changes because we still don't consider all the necessary functionality in place for such a major version bump.
Note that work on the v0.71
release started in earnest with the v0.69.3-agent
release (tagged as b0.69-bp
). A number of bug fixes and behaviors from the v0.71
work have already been back-ported and delivered in the various v0.69.*
releases since then. These release notes will highlight only the behavioral changes that have not been back-ported previously.
Installation
There are no installation changes in this release: see the Getting Started Guide for how to install or update.
After installation or update, you should have version 0.71.0-XXgXXXXXXXXX
of the pbench-agent
RPM installed.
RPMs are available from Fedora COPR, covering Fedora 34, 35, 36, EPEL 7, 8, 9, and CentOS Stream 8 & 9.
There are Ansible playbooks available via Ansible Galaxy to install the pbench-agent
, and the pieces needed (key and configuration files) to be able to send results to a Pbench Server. To use the RPMs provided above via COPR with the playbooks, your inventory file needs to include the fedoraproject_username
variable set to ndokos
, for example:
...
[servers:vars]
fedoraproject_username = ndokos
pbench_repo_name = pbench-test
...
Alternatively, one can specify fedoraproject_username
on the command line, rather than having it specified in the inventory file:
ansible-playbook -i <inventory> <playbook> -e '{fedoraproject_username: ndokos}' -e '{pbench_repo_name: pbench-test}'
NOTE WELL: If the inventory file also has a definition for pbench_repo_url_prefix
(which was standard practice before fedoraproject_username
was introduced), it needs to be deleted, otherwise it will override the default repo URL and the fedoraproject_username
change will not take effect.
While we don't include installation instructions for the new node-exporter
and dcgm
tools in the published documentation, you can find a manual installation procedure for the Prometheus "node_exporter" and references to the Nvidia "DCGM" documentation in the agent/tool-scripts/README
.
Container images built using the above RPMs are available in the Pbench organization in the Quay.io container image repository using tags beta
, v0.71.0-XX
, and XXXXXXXXX
.
Summary of Changes
Support for RHEL 9 & CentOS Stream 9
Support for RHEL & CentOS Stream 9 is provided in this release.
The New "Tool Meister" Sub-System
The "Tool Meister" sub-system (introduced by PR #1248) is the major piece of functionality delivered with the release of v0.71
of the pbench-agent.
This is a significant change, where the pbench-agent first orchestrates the instantiation of a "Tool Meister" process on all hosts registered with tools, using a Redis instance to coordinate their operation, and the new "Tool Data Sink" process handles the collection of data into the pbench run directory hierarchy. This effectively eliminates all remote SSH operations for individual tools except the initial one per host to create each Tool Meister instance.
One Tool Meister instance is created per registered host, and then a single Tool Data Sink instance is created on the host where the benchmark convenience script is run. The Tool Meister instances are responsible for running the registered tools for that host, collecting the data generated as appropriate. The Tool Data Sink is responsible for collecting and storing locally all data sent to it from the deployed Tool Meister instances.
User Orchestration of "Tool Meister" Sub-System
Container images are provided for the constituent components of the Tool Meister sub-system, the Tool Meister image and the Tool Data Sink image. The images allow for the orchestration of the Tool Meister sub-system to be handled by the user instead of automatically by the pbench-agent.
The "Tool Meister" Sub-System with No Tools
While this is not a new feature of the Pbench Agent, it is worth noting that when no tools are registered, the "Tool Meister" sub-system is not deployed and the bench scripts still execute normally.
All Tool Registration Handled Locally
Along with the new "Tool Meister" sub-system comes a subtle, but significant, change to how tools are registered.
Prior to v0.71, tool registration for remote hosts was recorded locally, and also remotely via ssh.
With v0.71, tools are recorded only locally when they are registered and the validation of remote hosts is deferred until the workload is run. During its initialization, the Tool Meister sub-system now reports when registered tools are not present on registered hosts, and, if a tool is not installed, an error message will be displayed, and the "bench-script" will exit with a failure code.
The registered tools are recorded in a local directory off of the "pbench_run" directory, by default /var/lib/pbench-agent/tools-v1-<name>
, where <name>
is the name of the Tool Group under which the tools were registered.
The process of registering tools on local or remote hosts no longer validates that those tools are available during tool registration. The Tool Meister sub-system now reports when registered tools are not present on registered hosts before beginning a benchmark workload. An error message will be displayed, and the particular "bench-script" will exit with a failure code.
All tools registered prior to installing v0.71
must be re-registered; tools registered locally or remotely on a host with v0.69 or earlier of the pbench-agent
will be ignored.
New Support for Prometheus and PCP-based Tools
The new "Tool Meister" sub-system enables support of Prometheus and PCP-based tools for data collection.
The existing tools supported prior to the v0.71 release can be categorized as "Transient" tools. By transient we mean that a given tool is started immediately before and stopped immediately after the execution of a benchmark workload. For example, when using pbench-fio -b 4,16,32 -t read,write
, the transient tools are started immediately before each fio
job is executed, and stopped immediately following its completion, for each of the six fio
jobs that would be run.
A new category is introduced for Prometheus and PCP called "Persistent" tools. Persistent tools are started once at the beginning of a benchmark convenience script and stopped at its end. Using the previous pbench-fio
example, persistent tools would be started before any of the six pbench-fio
jobs begin and would be stopped once all six end.
When persistent tools are used, data is continuously collected from the data sources ("exporters", in the case of Prometheus, and "PMCDs", in the case of PCP) and stored local to the execution of the Tool Data Sink.
Note that for transient tools, where data for the transient tool is collected locally on the host the tool is registered, the collected data is usually sent to the Tool Data Sink when the benchmark workload finishes, though in some cases the data won't be sent until the very end to avoid impacting the behavior of the benchmark workload (e.g. pbench-specjbb2005
).
Prometheus tools: node-exporter
and dcgm
Two new pbench "tools" have been added, node-exporter
and dcgm
. If either or both of these new tools is registered (e.g. via pbench-register-tool --name=node-exporter --remotes=a.example.com
), then the Tool Meister sub-system will run the node_exporter
code on the hosts (in this case, a.example.com
) and a local instance of Prometheus to collect the data. The collected Prometheus data is stored in the pbench result directory as a tar ball at: ${pbench_run}/<script>_<config>_YYYY.MM.DDTHH.mm.ss/tools-<group>/prometheus
.
For the duration of the run, the Prometheus instance is available on localhost:9090
if one desires to review the metrics being collected live.
NOTE WELL: like all the other "tools" the pbench-agent
supports, the node-exporter
and dcgm
tools themselves need to be installed separately on the registered hosts.
The PCP tool
Just like the new Prometheus based tools, you can register "PCP" as a persistent tool using: pbench-register-tool --name=pcp --remotes=a.example.com
. This will cause each Tool Meister on the hosts for which PCP is registered to start a pmcd
instance, and the Tool Data Sink will run pmlogger
processes for each of those hosts to collect the data at the requested interval.
The new PCP support also allows you to register PCP as a transient tool, where it is started and stopped around each benchmark workload invocation. The Tool Meister instance will also run the pmlogger
process alongside the pmcd
process to have the data collected locally, and will send the collected data to the Tool Data Sink instance when requested. Use the name pcp-transient
when registering (e.g. pbench-register-tool --name=pcp-transient
).
NOTE AS WELL: like all the other "tools" the pbench-agent
supports, the pcp
tools themselves need to be installed separately on the registered hosts.
Independence of Pbench Agent "tool" Scripts
The tool scripts the Pbench Agent uses to collect data can be run independently of the rest of the Pbench Agent so that users can verify they collect data as expected.
Default Tool Set Reduced to iostat
, sar
, & vmstat
Tools
The default tool set registered using pbench-register-tool-set
is now only three tools: iostat
, sar
, and vmstat
. Prior to this release the default tool set included some very heavy-weight tools like pidstat
, proc-interrupts
, and perf
(perf record
).
The default tool set from v0.69 is preserved in a new tool set named, legacy
, and can be loaded via pbench-register-tool-set --toolset=legacy
.
Along with this change, 3 new named tool sets have also be added:
light
:vmstat
medium
: ${light},iostat
,sar
(this is the new default tool set)heavy
: ${medium},perf
,pidstat
,proc-interrupts
,proc-vmstat
,turbostat
Users are not required to ues the pre-defined tool sets. A user should be able to register whatever tools they like, or create their own tool sets by following the pattern of the provided named tool sets.
Removal of Gratuitous Manipulation of Networking Firewalls
The manipulation of firewalld
to open a port for the operation of fio
by pbench-fio
has been removed. The user of pbench-fio
must have already ensured that the ports specified for each client are open. If using the default port (as configured in a /opt/pbench-agent/config/pbench-agent.cfg
file), then the user should ensure that port (default is 8765
) is open. If using the --unique-ports
option, then the user should ensure that the range of ports for the number of clients are open (e.g. for pbench-fio --clients=hosta,hostb,hostc
, port 8765 on hosta
, port 8766 on hostb
, and port 8767 on hostc
).
Similarly, pbench-uperf
no longer stops the host firewalld
service before attempting to drive a uperf
run. The user should either stop the firewalld
or open the ports used by uperf
in firewalld
(starting port is 20,000, then incremented by 10 for every server specified).
Finally, the Pbench Agent Ansible Galaxy collection provides roles for manipulating firewalld
to enable the operation of the Tool Meister Sub-System, but those roles are not used by default. The user must deliberately use those roles so that no fire wall manipulation occurs without their consent.
Removal of Gratuitous Software Installation
The software required to run a particular benchmark, or a particular tool, is no longer gratuitously installed during the execution of a benchmark, or during tool registration. If a benchmark convenience script or tool requires a certain version of software to be present, those checks will be performed and reported to the user as an error if the requirements are not met.
Change to check command versions instead of RPM versions for pbench-fio
, pbench-linpack
, and pbench-uperf
The pbench-fio
, pbench-linpack
, and pbench-uperf
no longer perform version checks against RPMs for the required software to execute. For both pbench-fio
and pbench-perf
the reported version string is used from the benchmark workload command itself. For pbench-linpack
, the expected installation directory name is used.
Enhancements to pbench-linpack
A new --clients
argument has been added.
A new linpack
driver script, which can be executed stand-alone, is now used.
Special thanks to Lukas Doktor for his work on implementing these changes.
Required Use of --user
with pbench-move/copy-results
In preparation for the forthcoming update to the Pbench Server, where the notion of a user is introduced and all result data tar balls are tracked per-user, the pbench-move-results
and pbench-copy-results
commands now require that the --user
switch be provided. This will help facilitate migrating data into the new version of the Pbench Server.
Support for the New HTTP PUT Method of Posting Tar Balls
In preparation for the forthcoming update to the Pbench Server, support for sending data to a Pbench Server via an HTTP PUT method has been introduced. The new commands, pbench-results-move
and pbench-results-push
, provide that functionality. A token must be generated for the given user via the new pbench-generate-token
command.
The new pbench-results-move
and pbench-results-push
will not work with currently released versions of the Pbench Server (v0.69). Please consult with a Pbench Server administrator for when the new version will be available for testing purposes and/or officially released.
Removal of the Use of SCL (Software Collections Library)
For the Pbench Agent we have removed the use of the Software Collections Library (SCL) in order to provide a Python 3 environment for RHEL 7 & CentOS 7 distributions. We now rely on the Python 3 provided with RHEL 7.9 and CentOS 7.9.
As such, the minimum supported version of RHEL and CentOS is 7.9.
Support for pbench-trafficgen
dropped entirely
With the release of v0.71, support for pbench-trafficgen
has been removed in its entirety. It is too difficult to support the behavior of that benchmark workload given the implementation of pbench-trafficgen
and pbench-run-benchmark
's trafficgen support.
Future work on supporting benchmark workloads will be approached by working to have the Pbench Agent integrate with separate software packages that are dedicated to running benchmarks (unlike the Pbench Agent which only provides convenience interfaces).
Deprecation Notices and Removals
Deprecated Bench Scripts
The following bench-scripts
have been deprecated with this release and will be removed entirely in the next release:
Bench Script | Comments |
---|---|
pbench-run-benchmark |
This interface was never completed, and only duplicates existing functionality |
pbench-cyclictest |
No replacement provided |
pbench-dbench |
No replacement provided |
pbench-iozone |
Consider using pbench-fio instead |
pbench-migrate |
No replacement provided |
pbench-netperf |
Consider using pbench-uperf instead |
Other Deprecated Interfaces
- The
pbench-cleanup
utility command is deprecated and will be removed in a subsequent release (see PR #1828)
Removal of Deprecated Interfaces
- Removed the deprecated
pbench-fio --remote-only
option
Semi-Public CLI Additions, Changes, and Removals
There are a number of Pbench Agent CLI interfaces which are primarily used internal to the Pbench Agent code base, but happen to be made available alongside the other CLI interfaces.
Here are a few changes you should be aware of if you rely on any of these interfaces:
- The
getconf.py
command is replaced bypbench-config
- The following interfaces have been removed entirely and folded into the operation of the Tool Meister sub-system itself
pbench-collect-sysinfo
,pbench-metadata-log
, andpbench-sysinfo-dump
Many, many, bug fixes and behavioral improvements
In addition to the major changes described above for this release, the following significant changes for the agent are also worth calling out specifically:
- The release takes in the latest code from stockpile, including support for GPU data collection via the Nvidia SMI role
- Python based
click
CLI work towards "noun verb" structure- E.g. this shows up in the new
pbench-results-move
,pbench-results-push
interfaces for the new HTTP PUT method of submitting tar balls to the Pbench Server
- E.g. this shows up in the new
- Fix the
oc
tool (oc-datalog
) to properly reap its sub-processes - Fix for
user-tool stop
not working - Fix
pbench-fio
'sramp_time
template handling - Correct the behavior of
pbench-clear-tools
- Correct
pbench-fio
's networking port use when the configuration file default port is changed - Correct metadata collected by
pbench-specjbb2005
- The
pbench-uperf
interface now supportsAF_VSOCK
operations via the new--vsock-servers
option - Prevent
pbench-fio
from re-writing job files with the--preprocess-only
option - Added support for operating systems which use sos (sosreport) v4.0 and later
ChangeLog
What's Changed
You can review the Full ChangeLog on GitHub (all 560+ commits, tags b0.69-bp
to v0.71.0-beta.0
).
What follows is an edited list of commits, newest to oldest, containing all commits which landed in the v0.71 release. Note that of the 550+ commits, many of them are for the Pbench Server or Pbench Dashboard and are not considered for these release notes.
- 005aa3f 'Release Notes for
v0.71.0
' - 9d90a97 'Ensure use of
localhost
when stopping Redis' - acae28b 'Add local and remote pre-check for linpack'
- afba7d5 'Stop resolving benchmark binary location'
- 36263d0 'Handle response payloads which are not JSON in generate_token.py (#2862)'
- 0a9d5ea 'Tweak container builds for CentOS 9'
- 11f959b 'Correct
pbench-specjbb2005
use of-send-tools
' - 1675b63 '
pbench-specjbb2005
now handles commented props' - a46078d 'Fix pbench-fio local fio-server execution'
- e32b10e 'Fix Tool Meister instance exit code handling'
- 7c3f065 'Add missing
f
letter for f-string' - 82b1ddf 'Correct spelling in
pidstat
tool help text' - 8c5cd16 'Backport quick fixes for v0.71 (#2829)'
- e04e0aa 'Backport testing of source tree builds'
- 2035ccf 'b0.71 backport: Delete the spurious pbench3-devel RPM dependency'
- b9a001e 'Use HTTPS for D3 loads (back-port)'
- d5e7e2f 'Enable CodeQL for
b0.71
' - c6d2267 'Use
b0.71
CI image tag for this branch' - 7096372 'Remove support for trafficgen'
- 8a0aff5 'Improved
linpack
benchmark wrapper' - 5ba6e18 'Deprecate unused benchmark convenience scripts'
- b03914c 'Fix unit testing for email_validator (#2776)'
- 677330e 'Add support for no registered tools'
- 72e4869 'Remove unused mock for
pbench-metadata-log
' - 4b8fd19 'Refer to the Tool Meister sub-system'
- 8a9f041 'Optional metadata should be optional'
- bceae2c 'Correct misspelling in
bench-scripts/unittests
' - ec4f148 'Remove unused
bench-scripts
mocks' - 2c579a2 'Small changes deferred from recent PRs'
- 6a96b5f 'Simplify PID file names used by TM sub-system'
- f530a34 'Refactor Tool Meister start to consolidate logic'
- d629c7d 'Employ a
NamedTuple
for TDS parameters' - ca91096 'Ensure
agent/base
is not used by Tool Meisters' - 4e66b1e 'Remove
pbench-sysinfo-dump
reliance onbase
' - 9587799 'Add a big-hammer redis server cleanup'
- cc9f85f 'Remove unused
common
directories' - 536fd20 'Tabs to spaces, isle 5'
- 5adaec3 'Get rid of the
pbench-perl-JSON-XS
dependency (v0.71)' - 53f0b84 'Move logic out of pbench-tool-meister-* files (#2741)'
- 2c7250e 'Add support for
--clients
topbench-linpack
' - f389cf8 'Remove
run_command
utility function' - da2a4fd 'Terminating benchmark run if tool rpm does not exist'
- 8371a12 'Record the Tool Meister data in Redis'
- 6c90bf4 'Removed package-lock.json'
- 9bb7a03 'Code review feedback fixes'
- 8545842 'Port various features from pbench-run-benchmark to pbench-linpack'
- ed0ddfb 'Refactor Tool Meister module, add
Tool
unittests' - 2bc36ea 'Update references for issues and projects'
- bb52be2 'Ensure
args
parameter is sent on terminate' - 91156d2 'PBENCH-158 Wait for TDS to terminate gracefully (#2734)'
- 01d8ae5 'Replace
sys.exit()
wclick._.exit()
' - df51866 'Replace
find_executable
withshutil.which
' - 7ebddea 'Re-try
tar
command if errors encountered' - 13b9347 'Remove
perf-fio-0
test directory when successful' - d440cb2 'Correct
check_required_rpm
behavior' - 1227cb5 'Turn on CodeQL analysis'
- b23c6cc 'Add
relaxed
mode tocheck_install_rpm
' - 4fdecae 'Ensure
${pbench_run}
directory exists' - 31bab83 'Keyboard interrupt handling (#2713)'
- 12c9ae8 'Initial Dashboard Code Base'
- 11587d6 'Include "common" pytests in tox exec-unittests'
- 3468bb1 'Update to
black
22.3.0' - c8801af 'Normalize variable references in
agent/base
' - ad6fe1c 'Bring
BaseCommand
behaviors inline withbase
' - e4804a1 'Use
black
on some additional files' - c1f241d 'Drop use of
--current-env
in CI jobs' - 23f9745 'Add linting support for agent ansible roles (#2701)'
- 574daad 'Create
pbench_run
directory IFF it is from the configuration file' - 0cf0e46 'Address lgtm.com recommendations'
- 6b25b9c 'Use debug-level environment variables (#2698)'
- 2fcac2c 'Update to latest
black
' - b536f52 'Update to
flake8==4.0.1
(latest)' - c0b8331 'Correct Tool Meister sub-process termination'
- eb5ae2e 'Use an explicit cache directory for pip installs'
- cadcdc0 'Remove refs to non-existent persistent tool files'
- 9bee290 'Speed up source distribution creation'
- 5740acf 'Remove
ansible
from agenttest-requirements.txt
' - 44a3d6a 'Parallelize the python & legacy unit tests'
- 63fa07e 'Fix a wayward server test'
- efe48d9 'Remove references to logger method of base class'
- eeec73f 'Revamp how we use tox to reduce envs'
- 52102ac 'add bug report issue form'
- 1f3d7b5 'Remove refs to
pbench_results_redirector
' - 8204da0 'Ensure agent legacy unit tests pass'
- 92254a7 'Scrub the pytests'
- 487f4ba 'Remove persistent tmp directory on remote hosts (#2661)'
- d167ab1 'Add pbench-run-benchmark.pl to the Agent's installed files list'
- 66f2380 'Support non-DNS controller hosts (#2643)'
- 2b99341 'Run benchmark tool-meister related fixes (#2660)'
- 702c17e 'Refactor development container builds'
- b59a34a 'Simplify agent spec file (#2658)'
- 9831f77 'Rework the agent functional tests (#2648)'
- 22ed102 'Add timeouts to tm start/stop test'
- ac31569 'Construct redis pid file name once'
- eedc4ba 'Sort python requirements files'
- 9b469cd 'Fix oc-datalog to properly reap subprocesses'
- 7dc1fd1 'Stop using
selinux
virtualenv wrapper' - 25c569d 'Remove
BaseCommand
environment manipulations' - 494ebaf 'Forward-port of
pbench-trafficgen
improvements' - 9ff58bd 'Dump all .cmd files in bench-scripts unit tests'
- 6ed993d 'Clear up 'tool' vs 'tool_name' confusion in base-tool script'
- a15c5d2 'Minimal fix for
user-tool stop
failure' - 0dabb23 'Canonically determine local vs remote hosts/ips (#2542)'
- 3e462ef 'Update the Jenkins development container (#2640)'
- dd5b53a 'Improve Jenkins container run mechanism (#2639)'
- 2acb762 'Fix fio's "ramp_time" template handling'
- 08c8436 'Fixes for pbench-clear-tools potholes (#2618)'
- 8eed2aa 'Use Bcrypt-Flask instead of Flask-Bcrypt'
- 7d1ccfd 'Use --all-ip-addresses instead of --ip-address'
- 55efafd 'pbench-list-tools and pbench-register-tools inconsistency with env and config values (#2606)'
- 1d87d1b 'Add option to allow chroot specs for COPR builds (#2622)'
- ec1c586 'Rework Agent containers build (#2607)'
- 894ea5d 'Small improvements to
pbench-list-tools
andpbench-clear-tools
(#2612)' - 1bf7ddb 'Remove
pbench_run
parent directory creation from agent sidebase
bash script' - ac57faa 'Remove test parallelism from Jenkins jobs'
- 27d285e 'Execute the python cache cleanup in test context'
- ea83883 'Remove use of
podman run -it
switch by default' - 9abf568 'Fix umask problem with server legacy unit tests'
- c17f05a 'Correct the plumbing of stderr and stdout in certain unit tests'
- 18b3814 'TableOfContent (ToC) Server API (#2507)'
- a8689ae 'Add a warning message when no tools are registered (#2605)'
- 7e503e2 'Adjust dependencies (#2604)'
- 64c3d74 'Remove controller parameter from queries (#2575)'
- e8a6844 'pbench-copy-result-tb issue #2437'
- 61cce01 'Cleanup of agent ansible roles (#2594)'
- d5b6e07 'remove adding unnecessary paths using pathins'
- c68c4c1 'use pathins function to update system path'
- 97a402c 'make sure /usr/sbin is present in system PATH'
- f3368d1 'Review feedback'
- 7351417 'Add support for a containerized Pbench Server'
- ff025f3 'Add dependency on Dashboard RPM to Server RPM spec file'
- 076edb0 'Add receipe for building a RHEL 8 development container image'
- 8629979 'Remove implicit use of "quarantiner" user (#2591)'
- 93f1c99 'Pick lint'
- 54dc85e 'Even yet more additional review changes'
- a205435 'Maybe possibly final refactoring?'
- b6bfea6 'More feedback refactoring'
- 46bbed3 'Yet more review comments again'
- 6643ca0 'More refactoring and unit test cases'
- c52ee34 'Refactoring and cleanup'
- c756e0c 'Dataset DELETE'
- 8f09652 'Add selinux to the Server requirements.txt file'
- db58dc0 'Add cronie and copr-cli to Jenkins dockerfile'
- 512e47d 'Add explicit cron dependency to Server spec file'
- b090637 'Rework Server restart interval and correct .service file permissions'
- ac96b7b 'Harden prep-shim against running with SELinux disabled'
- acb3fc4 'Spec file and ansible fixes for RHEL9 (#2556)'
- 8603543 'reorder imports and API endpoints'
- 4c9d36f 'Nomenclature update index->dataset'
- 271c318 'fix hardcoded index name in commons.py (#2581)'
- 13c20cb 'Move index_mappings api to appropriate directory (#2561)'
- adb1985 'Add missing 0.69 agent generated metadata'
- be8ac34 'Dynamic
root_index_name
(#2572)' - 84f3dbd 'Adding ssh for creating hostname directory on Host machine'
- 43c2737 'TimeSeries document query API (#2534)'
- d84422d 'Require
--user
forpbench-move/copy-results
' - 1037cec 'pbench-register-tool: treat an empty remotes file as an error'
- 96cbc20 'Post deprecation notice for unsupported benchmark scripts'
- 53a923b 'Add
hiredis
requirement for performance reasons' - 2492cf9 'Remove deprecated
--remote-only
pbench-fio option' - 32798db 'Replace RPM version checks with
fio --version
anduperf -V
' - 2494f02 'Remove use of
wc -w
sub-process' - b6662df 'pbench-register-tool-set: check for bad remotes file (#2514)'
- 7bb378b 'pbench-fio: drop use of
sed
for comma replacement' - 37ebd7d 'Refactor
pbench-uperf
' - ec00458 'Increase Prom retention to
1yr
' - 9b6edce 'Fix
/api/v1/endpoints
in container environment' - c2bdfaf 'Improve grammar in
test-bin/java
' - 0a39cc0 'Fix grammar in
test-56.pre
' - f6be81f 'Stop explicitly manipulating firewalls'
- 35b324f 'Iteration samples query API'
- 236261d 'Correct
pbench-fio --client
handling' - 6a02d85 'Fix specjbb mdlog (#2522)'
- 84a5d62 'Ensure fio usage msg sent to stderr as necessary'
- 3cb5991 'Ensure
pbench-fio
exits w/ non-zero exit status' - 3bf9c96 'Ensure
fio
uses full unix timestamps' - 58eb664 'Add the use of '...' in help text output'
- aef8d1a 'Enhance
pbench-fio --targets
help message' - f7a3e0b 'Implementation of user & access query semantics'
- 8dfc492 'Add support for vsock to the pbench-uperf script'
- 9f82345 'Add variable for the pbench repo name (#2513)'
- eb9142c 'Make the default tool set lighter (#2390)'
- 91eefd2 'Convert to Elasticsearch streaming_bulk helper (#2492)'
- aa72535 'Cleanup in JSON parameter handling (#2504)'
- c55729f 'pbench-list-tools: new output format and error handling (#2493)'
- 29f2e04 'Tweaks for Jenkins Raise the time limit on Agent postprocessing performance tests to accomodate occasional resource crunches on the executors. Correct the Jenkins pipeline to avoid losing failure statuses.'
- 529ca6c 'Correct Cobertura coverage report location in Jenkins'
- 467a4f0 'API for iteration sample documents'
- 936c2ed 'Add big fio performance test'
- a7de09c 'Add performance evaluation'
- fb1ca97 'More refactoring'
- f7ee547 'Refactor the tool scripts postprocessing unit test script Remove the reference-result symlink from the process-iteration-samples-0 gold Remove the metrics.csv file from the haproxy-ocp gold, since it is an input'
- c36d416 'Changes to spec file and reqs (from jam session 2021-10-07)'
- 0df21bb 'Rework Jenkins Dockerfile to make the dependencies easier to manage And update the comments'
- 4b14fba 'Update Server RPM dependencies'
- 5c0f737 'Remove explicit removals from RPM removal'
- 1ffce5e 'Adding pbench image test/demo script'
- 517eaa9 'Add dataset Metadata needed for Overview Page (#2417)'
- ba3cae8 'Canonicalize the JSON output from trafficgen-postprocess'
- 0cecb5f 'pbench-list-tools: add tests and fixes for exceptions'
- a53ddeb 'Remove unused BenchPostprocess functions in linpack-postprocess Also, other small changes.'
- 1d314d6 'uperf-postprocess whitespace changes'
- a725ee5 'Rework result post-processing This change modifies the support in BenchPostprocess.pm to expect timeseries data in the workload hash to be a hash of hashes, using the timestamp as the key instead of an array of hashes. This ensures that each timestamp is unique, and it makes each timestamp's data accessible in constant-time rather than requiring a linear (O(n^2)) search. For large datasets, this results in a dramatic improvement in execution time for producing the aggregate results.'
- 5ee9877 'Reformat trafficgen-postprocess and process-iteration-samples'
- 1f2a415 'Add unit test for post-process only with no directory'
- cdd2b61 'Tweak pbench-fio to handle missing samples'
- 9bcfab3 'Do not re-write fio job file in post-process only mode'
- 86a4a61 'Add a script for building and installing Pbench in a container Rework jenkins/python-setup.sh for containerized execution.'
- 0cd8e2f 'Tweak jenkins/run Change the volume mapping for the source directory from /home/pbench to /src/pbench, to avoid collisions with the Server RPM installation, and remove the mappings for /tmp and /var/tmp which seem incompatible with running other, non-root users inside the container. Add hook a for adding podman switches'
- 42176ca 'Prevent pbench-config from finding the Agent config for Server unit tests'
- 109a3c5 'Fix small RPM build issues'
- 53839cc 'Update the Jenkins container to Fedora 33'
- 9c2b1ed 'Make tools list deterministic'
- e5c4dbd 'Miscellaneous infrastructure fixes from v0.69 branch'
- a9a32a4 'Correct checking for required tool packages'
- 556dd25 'Check for the
ansible
RPM for thepprof
tool' - 5267d9c 'More installation cleanups (#2452)'
- 8e18627 'Tiny syntax error fix'
- 7552b85 'Add malformed authorization unit test (#2442)'
- 5f35537 'Refactor ElasticBase to expose framework elements (#2438)'
- c4dcdff 'Refactor
results-move
and bring to parity' - 833013e 'Server installation cleanup (#2423)'
- c179c8f 'Fix unit test date_range method (#2439)'
- 09b1510 'Add tests for admin role access (#2430)'
- f3a1d1f 'Search API based on query string pattern match'
- 5e1eea6 'Remove use of
ssh -q
and improve error messages' - 63f9195 'Use batch-mode for all
ssh
/scp
operations' - 2cdfe7a 'Replace tabs w spaces only'
- 8bc97e2 'Add psycopg2 RPM to Jenkins container (#2428)'
- 8f1f0f7 'Remove redundant query API test code (#2413)'
- 4b0a05e 'Fix stand-alone use of
pbench-make-result-tb
(#2405)' - 2e81422 'Remove write permission on agent installed files'
- 444b7d6 'Documents index mappings query api (#2382)'
- 6f33c32 'Correct
tracker
module name (#2409)' - 104d308 'Publish dataset API (#2355)'
- 7531e2b 'Fixes for sos-report >= 4.0 versions'
- 37ba47e 'Ensure redis does not persistence any data'
- 00f9de0 'Add optional authorization header requirement on es APIs (#2251)'
- b39ab74 'Add gunicorn worker timeout and replace all http numeric status (#2359)'
- dee2023 'Some Refactor and change http codes to use symbolic names - Return Not_found instead of Forbidden to an admin user if no target user found - Allow admin user to delete other admin users except themselvs, add role to protected fields'
- 549267b 'Click group functionality to tie all four server side cli commands - pbench-user-create - pbench-user-delete - pbench-user-update - pbench-user-list'
- d6ef508 'More cleanup.'
- 84b58bf 'More query_api unit test cleanup and refactoring'
- 3f8bc6a 'Query fixes'
- 5af8529 'Handle
ENOSPC
and report exceptions once' - 23f339b 'Clean up LGTM complaints (#2315)'
- b796c5c 'Add support for
PBENCH_ORCHESTRATE
env variable' - 9604947 'Remove unneeded
pipenv
invocation' - 35528da 'Properly collect host name information'
- 18fe25d 'Validate all passed in
_pbench_hostname_ip
values' - 971b873 'DRY out metadata log file command and library'
- 0a98eb3 'Turn off interpolation of
metadata.log
' - 04c73da 'standalone db.init should import all the models'
- 40c8318 'Refactor use of
check_install_rpm
' - e9c890b 'Correct minimum RPM version support'
- 27d6dea 'Allow live metric visualization for remote runs + Added customizable hosts/ports + Updated pcp visualizer and cleaned all'
- da535ac 'Add messages to assertions'
- 890f585 'Code review feedback'
- 0e84378 'Ensure that tarball upload gets desired HTTP headers'
- 370b663 'Small black formatting fix'
- 87c6b91 'Separate logger name from module name'
- 43558b3 'Rework upload API to move filename to URI'
- 2b0064f 'Index documents by user ID instead of username. (#2291)'
- 8286a17 'Refactor PbenchTemplates'
- d41cda0 'Add python3-psycopg2 require in the server spec file'
- 5fdd398 'Add a role to install the EPEL repo'
- f6d82bf 'Add expected exit status to unittests failures'
- 27e043d 'Add the
Content-Length
header to the PUT req' - 5be8b0a 'Allow positional arguments for pytest'
- 0487181 'Improve error handling in Elasticsearch queries'
- a4bb48d 'Quiet Redis server connections by default'
- a3363d0 'Make pip install into %{installdir}'
- d5d2498 'Visualizer update + bug fix'
- 4f154b4 'Replace use of become/become_user with remote_user'
- cdea202 'Update PCP repo for container builds'
- e31b471 'Fix CentOS 7 / RHEL 7 pbench-agent installations'
- 2f3ecfb 'Add Authorization header to upload PUT API and address issue 2240'
- 7453480 'Add pbench-results-push command Create a new, Click-based command which uses the server's HTTP PUT request to upload result tarballs. This command is intended to replace the existing pbench-copy-result-tb script.'
- bd5d065 'Simplify and consolidate Elasticsearch queries'
- 74ec530 'Correct
pbench-tool-meister-client
&-stop
' - 5794fc1 'Enable minimum RPM version support'
- a875e87 'Share mocks between persistent tools'
- 1bc4305 'Only measure coverage in
lib/pbench
' - c4280f9 'Ensure we always pull jenkins devel images'
- e954138 'Don't validate params for pbench-fio install'
- 81bb524 'Add role column in user table'
- c9dd0e9 'Refactor tool-meister-start orchestration'
- b925249 'Add pbench create user cli'
- 1ec7308 'PCP Transient Tool Update - Introduces a transient option for the pcp tool - Also adds new tool register options and naming conventions -
--transient
and--persistent
upon registration' - 6d7ec91 'Add missing validate-* scripts'
- 2d79619 'Add hostname and IP address validation for env'
- 100f349 'Refactor Elasticsearch template management (#2206)'
- f677789 'Userdb (#2101)'
- 76d876e 'return same status code for bad username and bad password'
- ea02995 '.gitignore change'
- dc48a16 'fix logout response workflow'
- 8c3a102 'Unify agent and server RPM builds (#2187)'
- 03e4a14 'Sort setup.cfg'
- 69f7273 'New dcgm-exporter update with visualizers'
- 2e8fe94 'Expose PCP ports; correct firewall files'
- 8e07c53 'Use the PCP "bintray" repos for PCP RPMs'
- 438d3ec 'Containerization of TM and TDS'
- c3ce54e 'Add missing distro targets to the Makefile'
- 072e932 'Add dependencies to pbench-devel required to build RPMs'
- 735d8b5 'Fix pytest-helpers-namespace at 2019.1.8'
- 27284d7 'Improve diagnostic for connection error in pbench-generate-token'
- cf66c53 'fix login workflow, unit test for extrenal auth_token update'
- 3912bb7 'Tweak to log output'
- 58540aa 'Review comments & cleanup'
- fd8c61b 'Change to dynamically construct API set from Flask'
- 70b2693 'Move to automatic reverse-proxy configuration'
- 513a514 'Rebase'
- f0b012d 'Add support for reverse proxy configuration'
- 6c67212 'Add endpoint configuration query'
- d707c73 'In agent makefile, put Click-based tools in their own install list and add pbench-generate-token to the list'
- fbf8668 'Add pbench-generate-token'
- 68cf5f4 'Replace deprecated hyphens with underscores in setup option names'
- 3a2d1ca 'Tweak Click options for agent config command line option'
- ec753ac 'Fix docstring typos'
- 2fd5f3c 'Add firewalld service files'
- 9c2268c 'Remove use of podman by Tool Meister subsystem'
- b95c73b 'Ignore annotated coverage files'
- 33027e8 'Refactor Tool Meister infra for data capture'
- ee28a87 'Build state tracker (#2074)'
- 6f41da4 'Obsolete exception SosreportHostname & TarError (#1782)'
- bded8bc 'Fix es url formation when params exist in json data (#2133)'
- 8caf11d 'Initial pbench user authentication model implementation (#1937)'
- 4c96c42 'Add SIGHUP handler to pbench indexer (#2114)'
- a0a3289 'Streamline server RPM spec file (#2124)'
- cca4629 'Setting SELinux labels correctly'
- 0e7a388 'Fix unused variables from lgtm bot'
- 89eef77 'When installing the server, set the host-info state to maintenance'
- 7090c1b 'Exclude site-packages from coverage report'
- d2dd5ff 'Support original version strings for HammerDB'
- b55b3a1 'Update server test-7.24 showing failure case'
- ef5555d 'Cleaner path'
- b0646d4 'Added PCP post-run visualization'
- 0b99487 'Fix turbostat for real this time'
- e7a15c1 'Fixes #1938'
- 01b4cbd 'Ensure pbench develop install occurs for tests'
- e1b89a9 'Remove non-existent coverage tox environment'
- 210b5c5 'Fix use of date parsing in query API'
- 68a055b 'Run pbench-server systemd service as a pbench user'
- d439090 'Add containerized data visualizers'
- 6673fe2 'Initial unit tests for pbench-run-benchmark'
- a0fa551 'Fix pbench-gen-iterations whitespace & comments'
- 5813b5c 'Refactor to fix trafficgen UIDs'
- 4fa811c 'Fix whitespace issues in process-iteration-samples'
- 5294efe 'Add
--unique-ports
to pbench-fio' - ea4ec20 'Default configuration for Apache reverse-proxy from port 80'
- 3932f50 'Add 99.5 percentile support'
- 1d70000 'pbench-fio: compute localhost latency profiles'
- db0413a 'Fix tabs vs spaces for option processing'
- cb7b399 'Add a README.md for the agent/rpm directory'
- 554b883 'Fix flake8 issue with variable name'
- b019c88 'Treat files with suffix .tgz, .tar, or .tar. as tarfiles'
- 8795350 'Fixes #1681'
- 16f5522 'Containerized Implementation of PCP in Pbench Agent'
- 50e0347 'Modifications to template data types for dashboard'
- 3eb5efd 'Correct locale issues with CentOS 8'
- 7c522a3 'Fedora 33'
- 0e7ddb4 'Wrapper for pbench-run-benchmark to get ENV'
- b5e4d03 'Fix move results ssh loop'
- 8305ab9 'Add coverage support'
- 57d5de8 'Fix ulimit problem in postprocess tests'
- 3435875 'Revert "Fix ulimit problem in postprocess tests"'
- 928d243 'Revert "Add coverage support"'
- d51f3c4 'Revert "Fedora 33"'
- ca0f0b8 'Revert "fix py3-agent to match py3-server coverage location"'
- 075e4a9 'fix py3-agent to match py3-server coverage location'
- 4e9a2e8 'Fedora 33'
- 1758f27 'Add coverage support'
- 27463ee 'Fix ulimit problem in postprocess tests'
- f74a4c3 'Fix issue with stranded pidstat and turbostat'
- 65643e9 'Remove unnecessary pbench module dependency'
- f76e76f 'Ugly - pbench-register-tool-set bad for perf'
- 8d7d90e 'Correct file permissions for fio-shared-fs.job'
- 06d3993 'Stablize the pprof unit tests'
- 02f2fe3 'Add missing "g" to commit id field in the server config file'
- 1666714 'Address lgtm.com errors'
- abab42d 'CORS fixes and a new API'
- e4ddee5 'Add unit tests for pbench-clear-tools'
- 95467c2 'Fix bug when reading a file in chunks'
- 8e14bd2 'Fix py move-results to use
ConfigParser
' - 28cb5b1 'Fix SysLogHandler reference'
- 893b514 'Fix logging for Tool Meisters'
- 200de32 'Pythonize pbench-register-tool-trigger'
- dcb6ed2 'fix extra trailing parantheses when gunicorn app starts'
- 315ce8f 'Fix server spec file'
- 4f57060 'Fix bad jenkins "pytests" runs'
- 4b4a721 'dropdown text sync'
- c013d65 'dropdown cards added'
- c1c9805 'Sphinx Basic setup and pbench-guide added'
- 13afd08 'Remove the
pbench-agent-config-*
scripts' - a5cec08 'Fix spec file and ansible roles'
- a970138 'Refactor server api implementation'
- 582179b 'Replace pbench-clear-tools tests'
- e33666b 'Prometheus quick fix'
- 33dfb56 'Use
ssh_opts
when starting remote tool meisters' - 787b48c 'Add support for overriding TM bind hostname'
- 95b391a 'Finish to remove agent user/group'
- 51851f5 'Pythonize pbench-list-tools'
- efb136d 'Have to handle empty variables, too'
- 7035e54 'Add newline instead of a space'
- bc46752 'Harden against spaces in file names'
- f137807 'Pythonize pbench-clear-results and pbench-cleanup'
- 92117c0 'Fix util-scripts test-34'
- ef98b8f 'Phase 2 of generate-pbench-timeseries-graphs:'
- 455b9dc 'Add support for sysinfo via Tool Meister'
- 40fb7c6 'Stop using f-strings with logging'
- 6704646 'Remove unnecessary explicit 'object' sub-classing'
- 342db66 'Add
--controller
option topbench-move-results
' - 96ee755 'Clean up dangling files test files'
- d06f619 'Pbench support for Elasticsearch V7'
- 3b3beaa 'Fix the Python 3 logger to handle time properly'
- 41ebcfe 'Remove the pbench user and group from the agent'
- 6986c8d 'Pythonize pbench-list-triggers'
- 8bb4bef 'Fix typos, grammar in *.md files'
- f0c9aa0 'Correct the
PYTHONPATH
for Jenkins jobs' - f7824d0 'Enhance
tool-scripts/README
,doc/CONTRIBUTING
' - ad3e4d3 'Generate time series graphs from pbench .csv files'
- 659d90d 'Add missing
net-tools
req agent RPM' - 13e931d 'Remove colorlog; add Makefile for pbench-devel'
- 1351476 'Rework pass-thru API implementation a bit'
- 2695e8e 'Jenkins integration using Fedora 32 container'
- 853f679 'Fix the flaky util-scripts test-51 & test-52'
- 57808c7 'Address common logging between agent and server'
- 6be9758 'Fix agent side
test_move_results
' - 4746adb 'Use
_pbench_
prefixed env var for host names' - 99ed639 'Make sure we explicitly ask for the full hostname'
- 9b1d646 'Refactor base to extract unit test overrides'
- a86cbb6 'Address some undesirable tox behaviors'
- 7273373 'Fix misaligned deps in tox.ini'
- 201988e 'Direct
black
to ignore.git
subtree' - f8ae421 'Cleanup
datalog/prometheus-metrics-datalog
' - b9f2dbc 'Rejig functional unit tests'
- bc50b72 'Fix warning while running unit tests'
- 82c193a 'Add ability to tag agent images with beta and alpha'
- 8d7fa14 'Rejig the agent logging'
- 3a851f8 'Remove colorlog'
- 1612373 'Require pyesbulk 1.0.0 for now'
- 70ddd8a 'Add changes from PR #1916'
- 7f614fe 'Remove SCL from the agent side'
- 2c63c88 'Remove SCL reference in the server trampoline code'
- afa0de0 'squash me - feedback comments addressed'
- 4db97e7 'Fix the README to restore working URLs'
- 04e1442 'Enhance agent container builds'
- 805cc59 'Add required package name for vmstat'
- 62e192e 'Remove use of
screen
from Tool Meister' - 511e60d 'Account for new pbench-clear-tools'
- 86a34ae 'Only do git submodule init at the top of the tree'
- 09e0cdc 'Pythonize pbench-clear-tools'
- 0be7499 'Stop invoking screen directly in unit tests'
- 7cd23f6 'Remove wayward py3-functional unit test'
- 37a7022 'Source agent
base
for remote tool meisters' - 04c0a03 'Record the pip3 command output to a log file'
- a0e8617 'Add warning for left-over
id_rsa
file' - 615c5f0 'Encapsulate building the final requirements files'
- f4e1d74 'Don't
%ghost
id_rsa
; onlyrm
in%postun
' - db0cce5 'Move to rh-python38 for RHEL 7 & use python RPMs'
- caa6f71 'Add redis and python3-redis agent RPM requires'
- 3e8597e 'Add a "common" unit test environment'
- 3805b83 'Move md5sum() method to common utils'
- d8ea234 'Don't remove
id_rsa
andpbench-agent.cfg
when uninstalling' - 0927dc4 'Remove blanket executable file permissions'
- 034f1f5 'Use the %config for the agent config file'
- 916ce34 'Ensure proper use of rh-python36 only for RHEL 7'
- 73ccffc 'Remove pbench-agent RPM dependencies for tools'
- fcea38c 'Update minimum supported Fedora to 31'
- 13844f3 'Update pbench-agent spec file summary & desc'
- d687e8f 'Add use of
rpmlint
on.spec
files' - dc9d0c5 'DRY out run-unittests, adding one for the server'
- b6a209d 'Create the notion of a utils directory'
- cb6af9c 'Open main branch targeting v0.71'
- d438663 'First pass at a container image for the pbench-server'
- fdda138 'Making a server RPM (without SCL)'
- 720e6c3 'Initial pbench-agent container image layering'
- 20a307e 'RPM making for pbench-agent'
- 3aa69d6 'General method of fetching git commit ID'
- 59d1989 'update agent cli to reflect server upload PUT changes'
- 3526a76 'Additional changes to break up testing requirements'
- 80c4b7e 'Break up agent & server requirements'
- c29f7ca 'Resolves logging error in pbench-server-prep-shim'
- ed39d86 'Fix missing space in sosreport --quiet option'
- f32e0fd 'write md5sum of a tarfile on disk on server and add upload POST to upload PUT'
- 7d122d2 'Fix pbench-clear-tools based on new unit tests'
- 736bd27 'Fix handling of expected exit status in unit tests'
- b03cddd 'Remove , add periods in pbench-clear-tools'
- 2b8df4d 'give pbench user access to /run/pbench-server directory'
- 2021484 'Deprecate pbench-cleanup & add tests for clear-results'
- 3d0d1f4 'Switch legacy unit tests to use C.UTF-8 locale'
- 79086b4 'Updated benchmarks wit init/end'
- f72e16e 'Add unit tests for filesize_bytes'
- 52e0f97 'Reformat the upload api test and fix stored md5sum of log.tar.xz'
- c32596f 'Fix util-scripts test-53'
- 33ee319 ' Post-Merge Review Changes (#1839)'
- 8bca118 'Prevent server unit test
test-25
from failing' - ae03d28 'Fix generation of sosreport command'
- a27edb0 'Ensure Tool Data Sink internal server object exists'
- 9663330 'Tell pbr to stop creating AUTHORS & ChangeLog'
- 276df1a 'Fix bad printf statement in server/test-find-behavior'
- d10ab00 'Add missing quote'
- f66e8e5 'Early prep for the 0.70 release'
- 4775f1d 'Add gunicorn wsgi server configuration'
- 9c29bc0 'Added DCGM Tool to pbench-agent (keshavm02)'
- cb3434e 'Prometheus/Node_Exporter Full V1 Integration Commit'
- a6c5890 'Sort modules in *requirements.txt'
- 637c4f3 'Lock in use of Perl 5.30+ for Travis CI'
- 0e7f706 'Setup base class'
- 20bfd2b 'Pbench-server API improvements'
- 30d2246 'Pbench Server API'
- c0e9380 'Clean up the sosreport version number checking'
- ed6d804 'Record the sosreport command that was used'
- 4f5e6ee 'Fix bench/util-scripts unit tests env overrides'
- ac69d66 'Perhaps useful script for updating gold files'
- d32a091 'Switch indexer.py to pyesbulk package'
- 64bcdbb 'Minimal attempt to remove tool meister commands'
- 01d17fc 'Only emit a warning message on missing debugfs'
- 4ee7dd9 'Fix tool argument handling'
- 61da5dc 'Tweak tool meister tests to use multiple tool opts'
- 94e42e5 'Ansible role for systemd service'
- b5a4871 'Fixes to the systemd service file plus a service file for RHEL7'
- ad9eb15 'Make shell.py into a package that exports a main().'
- 4222d0f 'A few more cleanups'
- d4c6a44 '- Make all non-environment variables local to functions named _pbench*'
- 23cc097 'First pass implementation of the "Tool Meister"'
- d8f835d 'Prepare roles for Ansible Galaxy'
- 991ad99 'Set backup cron job frequency to every minute'
- 1fae071 'Make spelling of commit_id consistent'
- 1643205 'Fixes issue #1668'
- d382a8d 'Lock versions of flake8 and black to known-good (#1768)'
- 80c8d8e 'Give default values to most of the variables.'
- 5048a14 'Require fio 3.21 and later'
- 98beb10 'Fix uperf "rr" (round-robin) test XML'
- 2561f44 'Rename pbench-agent.cfg.example to pbench-agent.cfg'
- b8cb2b8 'Avoid hardcoded tools location on bench-scripts'
- 6815743 'pbench-server-prep-shim-002 into python program'
- dbfb7f7 'Fix project name to Pbench.'
- c3002f1 'Fix tabs vs spaces in agent/base'
- ff58abb 'Fix formatting of contribution guide'
- 0180aad 'Use Python 3's pathlib where possible'
- bf382c2 'Fix datalog-cpuacct directory order'
- 47edfa8 'Sort the output of pbench-cull-unpacked-tarballs.py'
- 500a737 'Change ToC
parent
field to "keyword"' - 8a00fe1 'Get rid of sudo requirement'
- 4a06bd4 'Refactoring to introduce PbenchAgentConfig class'
- 5b3874a 'Implement PbenchConfig base class'
- f9ae8a8 'Move server side logging to common'
- c2661dc 'Run agent side test directories individually'
- d142d16 'Remove explicit sub-classing of
object
' - 2ee00fc 'Change pbench-dbench to stop using /tmp'
- 9d428af 'Add py3-functional to run-unittests'
- b07c678 'Restructure pbench namespace'
- 127eb7c 'Add config options and debug options for agent'
- 77fa536 'Refactor pbench-cli'
- d44f0b5 'Centralize agent results classes'
- b8958d3 'Centralize click options'
- 3e9b9c6 'Search for agent configuration'
- a18fc93 'Add unittests'
- 32d3f28 'Remove getconf.py for server'
- 59ce3bc 'Remove getconf.py for agent'
- e0e6570 'Add pbench-config cli'
- c16ada5 'Refactored pbench server and agent code'
- af4feec 'Formatted scripts using f-strings'
- c1b4e13 'Added script specific and default logging level'
- 1c91c89 'feat: pbench-server REST API'
- 6b082d4 'Setup pbench namespace'