Installing¶
Installing from RPM¶
Pre-built statically linked versions are available for the following OSes:
- RedHatEnterpriseLinux
- Fedora
- CentOS
To get the appropriate repo file for your OS, use one of the commands listed below:
- RedHatEnterpriseLinux
# sudo wget -O /etc/yum.repos.d/beaker-harness.repo https://beaker-project.org/yum/beaker-harness-RedHatEnterpriseLinux.repo
- Fedora
# sudo wget -O /etc/yum.repos.d/beaker-harness.repo https://beaker-project.org/yum/beaker-harness-Fedora.repo
- CentOS
# sudo wget -O /etc/yum.repos.d/beaker-harness.repo https://beaker-project.org/yum/beaker-harness-CentOS.repo
Once you have the appropriate repo file on your system you can install Restraint via dnf (or yum on older systems). Although you can install both the server and the client on the same machine it is not recommended.
Install the Restraint client on your machine if you want to run stand-alone jobs (i.e.: outside of Beaker):
# sudo dnf install restraint-client
Install the Restraint server on the systems that will run the tasks/tests:
# sudo dnf install restraint
Building from Source¶
Source code is located at https://github.com/beaker-project/restraint/. Restraint can be built and linked dynamically or statically. To build it dynamically you will need the development libraries for the following packages installed (minimum versions are listed):
- zlib-1.2.13
- bzip2-1.0.8
- libffi-3.3
- glib2-2.68.0
- libxml2-2.9.10
- libarchive-3.4.0
- xz-5.2.4
- libsoup-2.52.2
- intltool-0.51.0
- selinux-2.7
- curl-7.68.0
- json-c-0.13.1
- openssl-1.1.1k
Commands that will make sure most of the development libraries required are installed:
# sudo dnf install zlib-devel bzip2-devel libffi-devel glib2-devel libxml2-devel
# sudo dnf install libarchive-devel xz-devel libsoup-devel selinux-devel json-c-devel
# sudo dnf install intltool openssl-devel libcurl-devel
Once you have all the development libraries installed, you can clone Restraint from git:
% git clone git@github.com:beaker-project/restraint.git
% cd restraint
Build Restraint:
% make
To build it statically first enter the third-party directory and build the support libraries:
% pushd third-party
% make
% popd
Then build Restraint with the following command:
% pushd src
% PKG_CONFIG_PATH=../third-party/tree/lib/pkgconfig make STATIC=1
% popd
Installing Restraint:
% make install
Starting the Daemon¶
Regardless if you installed from RPM or from source you start the daemon one of two ways. If the system uses systemd use the following commands:
Enable the service for next reboot
# systemctl enable restraintd.service
Start the service now
# systemctl start restraintd.service
For SysV init based systems use the following commands:
Enable the service for next reboot
# chkconfig --level 345 restraintd on
Start the service now
# service restraintd start
When Restraint runs as a system service it listens on the port 8081.