PBench agent installation

Table of Contents


The pbench agent requires the installation of some generic bits, but it also requires some localization: it needs to know where to send the results for storage and analysis and it needs to be able to authenticate to the results server.

The generic bits are packaged as an RPM, available from COPR (https://copr.fedorainfracloud.org/). We try to build a new release every month or so.

The localization bits are of course, specific to a particular installation. Internally, we make them available through an ansible playbook. We used to make them available through an internal RPM, but we are trying to deprecate that method and eventually drop it. Other installations may use different methods to make them available. Consult your local pbench guru for help.

In the following, we describe how to install pbench-agent using the ansible playbook. The old method using two RPMs is also described, but as mentioned, we would like to drop that method.

Note that the same pbench-agent version must be installed on all the test systems that participate in a benchmark run: there is no support for mixed installations.

The following sections are obsolete

Most of the information is probably still correct but there are no guarantees. As we update the docs, it is likely that all the following sections will be deleted.


N.B. We are trying to get away from this method of installation and replace it with ansible playbooks. If ansible playbooks are provided for you, we recommend that you use them in preference to having an internal repo.

You will need to install both the external repo and (if applicable) the internal repo on every machine where you are planning to run pbench (including VMs). N.B. These steps must be run as root.

External repo

If your system supports dnf, then you can copy the repo locally with:

dnf copr enable ndokos/pbench

If your system only supports yum, you may be able to install the COPR plugin and install similarly:

yum install yum-plugin-copr
yum copr enable ndokos/pbench

If all else fails, you can manually download the repo, by visiting https://copr.fedorainfracloud.org/coprs/ndokos/pbench/ and clicking on the appropriate repo (Epel 6, Epel 7, Fedora XX). Save it into /etc/yum.repos.d/ndokos-pbench.repo.

Internal repo

Refer to your local installation guide or ask your local pbench guru for help.

If there is no such repo, you will need to install the pbench-agent RPM and then manually install the config file and the pbench private key which will allow you to send results to the server. Refer to Installing pbench-agent below.

Installing pbench-agent

Once you have the COPR repo installed, you can install the pbench-agent RPM and source the startup file to initialize your PATH and CONFIG environment variables:

dnf install pbench-agent
. /etc/profile.d/pbench-agent.sh

The pbench-agent RPM is not self-contained. You will need to somehow be given access to the config file and the pbench ssh private key for your installation. They may be part of another RPM, or you may be able to copy them from a central location or from media that your administrator provides.

You can install these two as follows:

pbench-agent-config-activate $configfile
pbench-agent-config-ssh-key $configfile $keyfile

You should be ready to roll.

Administrator responsibility: Config file and ssh private key file

If you are the administrator for this installation, you will have to create a config file and make it available to your users. How you make it available is up to you. This section describes how to create the config file in the first place.

The installation includes an example config file at /opt/pbench-agent/config/pbench-agent.cfg.example. Copy this file to a safe place and rename it to pbench-agent.cfg; then edit the lines that are flagged with # CHANGE ME! comments to reflect your setup.

The ssh key pair can be generated with

ssh-keygen -t rsa

and an empty passphrase. The private key has to be made available to users so they can complete their installation of pbench-agent as described above. The public key should be added to the authorized-keys file of the pbench user on the server where the results are copied.

Page updated: 2020-04-01 Wed 21:13