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.