Linux platform prerequisites

2 minute readReference

This section describes the Cluster Manager, eMake, and Electric Agent/EFS installation prerequisites on Linux platforms. It also describes a known Linux kernel performance issue.

For information about platform support such as operating systems, cloud-based and Kubernetes support, Make versions, eMake emulation, databases, bitnesses, and Visual Studio versions, see CloudBees Build Acceleration Supported Platforms.

Supported kernel versions

CloudBees Build Acceleration supports these specific Linux kernel versions.

Prerequisites

  • Each host to run CloudBees Build Acceleration software must be x86-64 compatible.

  • SELinux must be disabled. To disable SELinux, open /etc/selinux/config and change SELINUX=enforcing to SELINUX=disabled.

  • The following packages must be installed on each host that will run the Cluster Manager or agents.

    The installer prompts you to install missing prerequisite libraries. If installation of these libraries fails, the installer displays the command that you must enter to install them afterward.

    For your reference, following are the commands that you can use to install the required packages:

    Platform Commands for Installing Required Packages

    CentOS or RHEL

    Cluster Manager machine:

    sudo yum update sudo yum install autoconf sudo yum install libnsl

    Agent machines:

    sudo yum update sudo yum install autoconf sudo yum install kernel-devel sudo yum install gcc make -y sudo yum install elfutils-libelf-devel ;# (RHEL 8.0 and newer)

    Debian or Ubuntu

    Cluster Manager machine:

    sudo apt-get update sudo apt-get install autoconf sudo apt-get install linux-headers-$(uname -r)

    Agent machines:

    sudo apt-get update sudo apt-get install autoconf sudo apt-get install linux-headers-$(uname -r) sudo apt-get install gcc make

    SUSE Linux Enterprise Server (SLES) 12

    Cluster Manager machine:

    sudo zypper update sudo zypper install autoconf sudo zypper install kernel-source

    Agent machines:

    sudo zypper update sudo zypper install autoconf sudo zypper install kernel-source sudo zypper install gcc make

    SLES 15

    Cluster Manager machine:

    sudo zypper update sudo zypper install autoconf sudo zypper install kernel-devel

    Agent machines:

    sudo zypper update sudo zypper install autoconf sudo zypper install kernel-devel sudo zypper install gcc make

Known Linux kernel issue affecting performance

Affected kernel versions

This applies to RHEL kernel versions later than 2.6.18-194.32 and earlier than 2.6.32-131.

Symptoms

Affected systems might encounter reduced performance on both ext3 and ext4 file systems. Symptoms might include:

  • hung_task_timeout_secs messages in system dmesg logs

  • widely variable agent availability (entering and exiting agent “penalty” status frequently)

  • contention over the ecagent.state file

  • slower builds (with unexplained variances)

To help determine if your environment has this kernel issue, run

dmesg | grep hung_task_timeout

hung_task_timeout errors indicate a known Linux kernel issue. Contact your kernel provider to obtain a different version of the precompiled kernel.

Corrective actions

For systems running RHEL 5.6, 5.7, 5.8, and 6.0, consider upgrading to 2.6.32-131 (RHEL 6.1) or downgrading to 2.6.18-194.32 (RHEL 5.5).

Upgrading the kernel might require you to reinstall various kernel modules such as video drivers, efs, and vm-tools. You can do so by running apt-get dist-upgrade and then rebooting.