Installing ElectricAccelerator on Linux or Solaris

15 minute read

Installing a component overwrites the entire installation on that machine. Only one Accelerator installation can exist on a machine, which is the combination of components that are in the most recent installation. For example, installing the Cluster Manager on a machine with the Electric Agent results in a machine with the Cluster Manager only, not a machine with the Electric Agent and the Cluster Manager.

Additional Linux or Solaris Installation Information

Some antivirus software might affect the installer. Turn antivirus software off during installation. If antivirus software is running when you start the installer, you might receive an error dialog. The antivirus software might have reported Accelerator files as a virus and removed them from the temp location. As a workaround, turn off the antivirus software and rerun the installer.

If Norton Antivirus software is installed, disable it before installation to avoid serious file system conflicts. If Norton Antivirus cannot be disabled, put the ECloud directory in an exclusion list or disable the AutoProtect feature. If you need more information, contact Electric Cloud technical support. For contact information, see https://support.cloudbees.com/hc/en-us/categories/360002059512 .

Electric Cloud recommends umask 0022. Do not set a different umask during installation.

On Solaris systems, you must use an absolute path for the installation directory.

By default, mysqlcheck looks for my.cnf in /etc and ~/.my.cnf ` for configuration information. The installer does not currently copy my.cnf to `/etc, causing mysqlcheck to fail. You must add the following to the mysqlcheck command line parameter: --defaults-file=<path_to_my.cnf> For example: mysqlcheck --defaults-file=/opt/ecloud/i686_Linux/mysql/my.cnf -o ecloud

Because of a limitation of the Linux operating system, global system named pipes are not compatible with LOFS. To work around this limitation, you must add the directory containing each named pipe that is used by your builds to the list of bind mounts.

On each agent machine, complete the following steps.

  1. Log in as root.

  2. Create an /opt/ecloud/i686_Linux/bin/runagent.local file and add the following lines to that file: set tmpBindmounts [sandbox bindmounts]lappend tmpBindmounts <list of absolute paths to named pipes>sandbox bindmounts [lsort -unique $tmpBindmounts]

  3. Restart the machine.

This procedure adds the new location to the list of bind mounts in a way that is preserved across upgrades. Note that LOFS supports creating “local” (used by a single job) named pipes.

Installing the Cluster Manager

Starting with version 7.1, you cannot install the Cluster Manager on Solaris systems.

The Cluster Manager is a web server and can be installed on any networked machine with access to eMake and the cluster hosts or on the main build machine where eMake is installed.

Install only one copy of the Cluster Manager, regardless of the number of hosts in the cluster or the number of machines with eMake installed. eMake is installed with the Cluster Manager by default.

If you are upgrading a previously-installed ElectricAccelerator version, follow the upgrade instructions before installing the new version.

Electric Cloud no longer bundles MySQL as the default local database for ElectricAccelerator. Starting with version 7.1, Electric Cloud bundles MariaDB and installs it as the default local database on the Cluster Manager. When you perform a Cluster Manager upgrade, MariaDB replaces the local MySQL database (if applicable) and migrates all information from it.

MariaDB is an open-source database that is fully compatible with MySQL. As open-source software, it has no enterprise license support model. If using an open-source database is of concern to your organization, you can use any of the following databases as a replacement: MySQL, Oracle, or SQL Server. See the online help topic “Database Configuration” for information about configuring Accelerator to use an external database.

You can install the Cluster Manager and agents at the same time on the same machine. The Cluster Manager is 64-bit only and thus requires installation on a 64-bit machine.

Using the GUI to Install the Cluster Manager

  1. Log in as root.

  2. Double-click the ElectricAccelerator-<version>-<platform>-Install installer file.

The installation packages might need a few minutes to extract.

  1. When the Welcome screen appears, click Next.

  2. On the Setup Type screen, select Cluster Manager (eMake also installs automatically with the Cluster Manager) and click Next.

  3. On the Choose Destination Location screen, accept the default installation directory or browse to select an alternative directory.

    • Avoid selecting an alternative directory that includes spaces in the name. Spaces can create problems when configuring connections with other command-line-based components.

    • If you plan to install eMake in a non-default location, use the same location on all agent hosts and on the Cluster Manager host.

Click Next.

  1. On the Base Setup screen, choose whether you want to install Electric Runner client applications (which enable you to run Accelerator administration tools) and click Next.

  2. On the Cluster Manager screen, enter Cluster Manager configuration options:

    • Accept the default ports or type in alternative port numbers if the defaults are already in use.

      You must access the Cluster Manager web UI via HTTPS; keep this in mind when specifying an alternative port number.
    • Accept the default to keep old log files or select the checkbox to remove old log files.

    • Accept the default (checked checkbox])to leave web server log rotation turned on or clear the checkbox to turn off log rotation.

      Log rotation might affect Cluster Manager performance.
    • Select the type of database to use.

      If you do not use MariaDB, the database must already exist and you must be able to connect to it. The installer does not validate database connections.

Then click Next.

  1. On the next Cluster Manager screen, continue to enter Cluster Manager configuration options:

    • You can change the Cluster Manager admin password or accept the default password ( changeme ).

    • You do not need to migrate the existing database or back up the local database if this is your first Cluster Manager installation.

    • Fill in the user name or choose a user that the Cluster Manager service should run as or leave blank. Choose a password for the Cluster Manager service user or leave blank.

Click Next.

  1. On the Cluster Manager Database screen, type in the Cluster Manager database port number. For MS SQL, use port 1433.

If you did not select MariaDB as your database type, the following additional fields are available:

  • Database Host/IP Address

  • Database User

  • Database Password

  • Database Name

    Do not use a . (period) in the database name. A period in the name will prevent the Cluster Manager from starting.

Click Next.

  1. When the Start Copying Files screen appears, click Next.

  2. The Installing screen displays while the installation proceeds. When installation is finished, the Complete screen displays. Click Finish.

Installation is complete. The installation log file is in the install directory’s root by default.

If Apache fails to start properly after the Cluster Manager installs, reboot the system.

Using the Interactive Command Line to Install the Cluster Manager

  1. Log in as root.

  2. Run chmod +x ` on the `ElectricAccelerator-<version>-<platform>-Install installer file to ensure it is executable.

  3. Run ./<installer filename> --mode console to start the installation.

The installer displays:

This will install ElectricAccelerator version <version> on your computer.

For information about software configuration and licensing, see the ElectricAccelerator Installation and Configuration Guide.Enter y to continue or n to exit the installer. [n/Y]
  1. Continue the installation by entering y.

The installer displays:

Welcome to the ElectricAccelerator installer <version>
  Build: <version>
==========================================================
This installer can install the following packages:

1 - Electric Agent/EFS
          Installs Electric Agent/EFS and Electric Make.
2 - Electric Make
          Installs Electric Make.
3 - Cluster Manager
          Installs Cluster Manager and Electric Make.
4 - Cluster Manager and Electric Agent
          Installs Cluster Manager, Electric Make and Electric Agent/EFS on same host.
Select a package to install by entering the corresponding number:  [2]
  1. Enter 3 to select the Cluster Manager package and press Enter.

Provide the following Cluster Manager configuration information. You can accept the defaults or type in alternatives.

      Where do you want to install ElectricAccelerator? [opt/ecloud]
Setup was unable to locate a PDF reader. To view the included documentation enter the path to a PDF reader []Install Electric Runner client apps? [n/Y]
Cluster Manager HTTP port: [80] Cluster Manager HTTPS port: [443]
Cluster Manager Accelerator Server port: [8030]Cluster Manager Secure Accelerator Server port: [8031]Remove Cluster Manager old logs [y/N]Rotate Cluster Manager logs [y/N]Database Type: [MariaDB]Cluster Manager Service User: [eacmuser]Cluster Manager Admin Password: [changeme]Migrate existing database [n/Y]Back up local MariaDB database [y/N]Database Port: [3306]Database Host/IP address: [localhost]Database User: [ecloud]Database Password: [ecloud]Database Name: [ecloud]
Turning on log rotation might affect Cluster Manager performance.
Do not use a . (period) in the database name. A period in the name will prevent the Cluster Manager from starting.

The installer installs Cluster Manager using the configuration details you entered, followed by Installation complete when the install completes.

The installation log file is in the install directory’s root, /opt/ecloud by default.

Linux operating systems contain a 1024 default file descriptor limit for each process. However, this does not mean 1024 builds can be run concurrently. Depending on the size of your builds, you might be able to run only 300–400 builds concurrently because of other file descriptor activity and the collection activity between eMake and the Cluster Manager. If you must run more than 300–400 builds simultaneously, increase the default file descriptor limit.

If Apache fails to start properly after a fresh Cluster Manager install, reboot the system.

Installing Electric Agent/EFS on Linux or Solaris

Electric Agent/EFS software must be installed on each machine in the cluster. This includes any machines in a cloud service such as Amazon EC2 or Kubernetes.

Electric File System (EFS) and the Electric Agent are installed simultaneously on each host machine during Electric Agent/EFS installation. Multiple instances of Electric Agent/EFS pairs can be set up to run in parallel on a host. For example, if you have a multiprocessor machine, you might want to set up an Electric Agent for each processor. For details about running multiple agents, see Working with Agents - Modifying the Number of Agents per Host.

If you are upgrading a previously-installed ElectricAccelerator version, follow the upgrade instructions before attempting to install the new version.

Your toolchain should be installed on each agent host. You can virtualize the toolchain in some cases, but this can be problematic especially when the Windows registry is involved. For performance reasons, you should install the toolchain on each agent host. Many companies use “ghosting” software for this purpose.

“Ghosting” with the Electric Agent already installed is not recommended.

You can install the Cluster Manager and agents at the same time on the same machine.

Agent/EFS builds a kernel module during installation, so you might need to take this into consideration.

Using the GUI to Install Electric Agent/EFS

  1. Log in as root.

  2. Double-click the ElectricAccelerator-<version>-<platform>-Install installer file.

The installation packages might need a few minutes to extract.

  1. When the Welcome to the setup wizard for ElectricAccelerator screen appears, click Next.

  2. On the Which components do you want to install? screen, select Electric Agent, then click Next.

  3. On the What type of install? screen, select Custom, then click Next.

  4. On the Choose Destination Location screen, accept the default installation directory or click Browse… browse to select an alternative directory.

    Do not select an alternative directory that includes spaces in the name. Spaces can create problems when configuring connections with other command-line-based components.
  5. Click Next.

  6. On the Base Setup screen, click to choose whether you want to Install Electric Runner client applications, then click Next.

    The Configuring the Electric Agent screen appears.

  7. On the Configuring the Electric Agent screen, enter options for the locally-installed Electric Agent/EFS:

    • Type in the Cluster Manager host or IP address.

    • Accept the default Cluster Manager Accelerator Server port 8030 or type in the alternative port that you supplied during the Cluster Manager server installation.

    • Enter the Number of agents to run. The installer calculates the default number of agents based on the effective number of CPUs on the machine. The default is 1, if one CPU is present.

      If more than one CPU is present, the default value is the number of effective CPUs. The maximum number of agents allowed on one 32-bit machine is 32; the maximum on one 64-bit machine is 64.

    • Accept the default Agent temporary directory, or choose an alternative. This directory cannot be a symbolic link.

    • Accept the default for the Secure Agent Console Port checkbox if you will not use the secure port, or select the checkbox to use the secure port.

    • If this agent machine is part of a cloud service, check the Agents are provisioned on-demand from a cloud - Amazon EC2 etc. checkbox.

      In a cloud environment such as Amazon EC2 or Kubernetes, agents are not bound to a Cluster Manager during installation. Instead, the cloud management software tells the agents which Cluster Manager to use.

    • (Optional) Select the Remove old Electric Agent logs checkbox.

    • (Optional) Select the Reboot host if needed checkbox. Using this checkbox can add up to 30 minutes to the installation time (depending on the number of agents and the number of installed Visual Studio versions).

    • (Optional) Uncheck the Install EFS & LOFS checkbox if you already installed the efs100 and lofs kernel modules as part of configuring agents to run in Docker containers. For details about these kernel modules, see the KBEA-00170 Configuring ElectricAccelerator 11.0 and Newer Versions to Run in Docker Containers KB article.

    • (Optional) Unselect the Install Electric Runner Service checkbox (this is selected by default).

      Electric Runner (eRunner) is a “helper” service normally installed on all agent machines. This service listens for commands to execute on agents to facilitate administration tasks. For example, with eRunner, you can upgrade all agents at the same time remotely.
  8. On the Configuring the Electric Runner Server screen, select options for the Electric Runner server:

    • Accept the default Electric Runner Server port or type in an alternative.

    • (Optional) Check the Remove old Electric Runner logs checkbox.

  9. Click Next.

  10. When the Start Copying Files screen appears, review your settings, then click Next.

    The Installing ElectricAccelerator screen displays while the installation proceeds.

  11. When installation is finished, the Complete screen appears, click Finish.

  12. When the Really Reboot? popup appears, click Yes to reboot your system.

Installation is complete. The installation log file is in the install directory’s root by default.

Using the Interactive Command Line to Install Electric Agent/EFS

  1. Log in as root.

  2. Run chmod +x ` on the `ElectricAccelerator-<version>-<platform>-Install installer file to ensure it is executable.

  3. Run ./<installer filename> --mode console to start the installation.

The installer displays:

This will install ElectricAccelerator version <version> on your computer.

For information about software configuration and licensing, see the ElectricAccelerator Installation and Configuration Guide.Enter y to continue or n to exit the installer. [n/Y]
  1. Continue the installation by entering y.

The installer displays:

Welcome to the ElectricAccelerator installer <version>
  Build: <version>
==========================================================
This installer can install the following packages:

1 - Electric Agent/EFS
          Installs Electric Agent/EFS and Electric Make.
2 - Electric Make
          Installs Electric Make.
3 - Cluster Manager
          Installs Cluster Manager and Electric Make.
4 - Cluster Manager and Electric Agent
          Installs Cluster Manager, Electric Make and Electric Agent/EFS on same host.
Select a package to install by entering the corresponding number:  [2]
  1. Enter 1 to select the Electric Agent/EFS package and press Enter.

The installer displays:

Where do you want to install ElectricAccelerator? [opt/ecloud]
  1. Accept the default location or type in an alternative location.

If the installer cannot locate a PDF view, it displays:

Setup was unable to locate a PDF reader. To view the included documentation enter the path to a PDF reader []
  1. Provide a path or press Enter to skip.

The installer displays:

      Install Electric Runner client apps [n/Y]
  1. Decide if you want to install eRunner client apps. eRunner is a “helper” daemon normally installed on all agent machines. This daemon listens for commands to execute on agents, facilitating administration tasks. For example, with eRunner you can upgrade all agents at the same time, remotely. Make you selection and press Enter to continue.

The installer displays:

Agents are provisioned on-demand from a cloud - Amazon EC2 etc. [n/Y]
  1. Make your selection for cloud usage and press Enter.

    In a cloud environment such as Amazon EC2 or Kubernetes, agents are not bound to a Cluster Manager during installation. Instead, the cloud management software tells the agents which Cluster Manager to use.

The installer displays:

Cluster Manager Host/IP address:
  1. Provide the Cluster Manager host/IP address and press Enter.

The installer displays:

Cluster Manager Accelerator Server port: [8030]
  1. Use the Cluster Manager default server listening port 8030, or type in the alternative port if you did not accept the default when you installed Cluster Manager.

The installer displays:

Number of agents: []
  1. Use the default or type in a different number of agents to install. The installer calculates the default number of agents based on the number of effective CPUs on the machine. For example, you might have one agent per virtual CPU, a single dual-core CPU supports two agents, three dual-cores support six agents. The maximum number of agents allowed on one 32-bit machine is 32; the maximum for one 64-bit machine is 64.

The installer displays:

Agent temporary directory: [/tmp]
  1. Accept the default agent temporary directory or specify a different directory. If you specify a different directory, it must already exist, otherwise the temporary directory defaults to /tmp. The agent temporary directory must not be a symbolic link.

The installer displays:

Secure Agent Console port [y/N]
  1. Decide if you want to use a secure agent console port and press Enter.

The installer displays:

Remove old Electric Agent logs [y/N]
  1. Choose whether to remove old agent logs and press Enter.

The installer displays:

Reboot host if needed [y/N]
  1. Decide whether to reboot the host if needed and press Enter.

The installer displays:

Install EFS & LOFS [n/Y]
  1. Decide whether to install EFS and LOFS and press Enter.

    Type n if you already installed the efs100 and lofs kernel modules as part of configuring agents to run in Docker containers. For details about these kernel modules, see the KBEA-00170 Configuring ElectricAccelerator 11.0 and Newer Versions to Run in Docker Containers KB article.

The installer displays:

Install Electric Runner Service [n/Y]
  1. Decide if you want to install the eRunner service and press Enter. eRunner is a “helper” service normally installed on all agent machines. This service listens for commands to execute on agents, facilitating administration tasks.

The installer displays:

Electric Runner Server port: [2411]
  1. Use the default eRunner port to type in an alternate port and press Enter.

The installer displays:

Remove old Electric Runner logs [y/N]
  1. Decide if you want to remove old eRunner logs and press Enter.

The installer installs the Electric Agent/EFS using the configuration details you provided, followed by Installation complete.

The installation log file is in the install directory’s root, /opt/ecloud, by default.

Installing eMake

eMake can be installed on a networked machine or on a shared file server accessible to other build machines. Wherever eMake is installed, it must have access to the Cluster Manager machine and agents on the cluster host machines. If you are upgrading a previously installed ElectricAccelerator version, follow the upgrade instructions before attempting to install the new version.

An eMake-only installer is available, which lets you streamline eMake client installation.

After eMake is installed, you must configure eMake for your build environment and enable communication with the Cluster Manager. For details, see Setting Up CloudBees Accelerator.

You can install the Cluster Manager and agents at the same time on the same machine.

Using the GUI to Install eMake

  1. Log in as root.

  2. Double-click the ElectricAccelerator-<version>-<platform>-Install installer file to start installation.

Extracting the installation packages to your machine might take several minutes before the installation wizard appears.
  1. When the Welcome screen appears, click Next.

  2. On the Setup Type screen, select Electric Make, and click Next.

  3. On the Choose Destination Location screen, accept the default installation directory or browse to select an alternative directory. Ensure the eMake path matches the path used for the installed Electric Agent.

Do not choose an alternative directory that includes spaces in the name. Spaces can create problems when configuring connections with other command-line-based components.

An error appears if you do not have permission to write to the alternative directory. If this occurs, you must either acquire permission or exit the installer, then log in as root, and then restart the installation.

Click Next.

  1. On the Base Setup screen, choose whether you want to install Electric Runner client applications. eRunner is a “helper” daemon normally installed on all agent machines. This daemon listens for commands to execute on agents, facilitating administration tasks. For example, with eRunner you can upgrade all agents at the same time, remotely. Make you selection and click Next.

  2. If the machine already has eMake installed and you chose to install this version of eMake in a different location, you can allow multiple eMake installations on the same machine. If you don’t allow this, the previous version of eMake will be uninstalled. Choose your option and click Next.

  3. When the Start Copying Files screen appears, click Next.

  4. The Installing screen displays while the installation proceeds. When installation is finished, the Complete screen displays. Click Finish.

Installation is complete. The installation log file is in the install directory’s root, by default.

Using the Interactive Command Line to Install eMake

  1. Log in as root.

  2. Run chmod +x ` on the `ElectricAccelerator-<version>-<platform>-Install installer file to ensure it is executable.

  3. Run ./<installer filename> --mode console to start the installation.

The installer displays:

This will install ElectricAccelerator version <version> on your computer.

For information about software configuration and licensing, see the ElectricAccelerator Installation and Configuration Guide.Enter y to continue or n to exit the installer. [n/Y]
  1. Continue the installation by entering y.

The installer displays:

Welcome to the ElectricAccelerator installer <version>
  Build: <version>
==========================================================
This installer can install the following packages:

1 - Electric Agent/EFS
          Installs Electric Agent/EFS and Electric Make.
2 - Electric Make
          Installs Electric Make.
3 - Cluster Manager
          Installs Cluster Manager and Electric Make.
4 - Cluster Manager and Electric Agent
          Installs Cluster Manager, Electric Make and Electric Agent/EFS on same host.
Select a package to install by entering the corresponding number:  [2]
  1. Enter 2 to select the Electric Make package and then press Enter.

The installer displays:

Where do you want to install ElectricAccelerator? [opt/ecloud]
  1. Accept the default location or type in an alternative location.

    If you install eMake in a non-default location, ensure that the same location is used for all agent hosts and the Cluster Manager host.

An error appears if you do not have permission to write to the alternative directory. If this occurs, you must either acquire permission or exit the installer, then log in as root, and then restart the installation.

If the installer cannot locate a PDF view, it displays:

Setup was unable to locate a PDF reader. To view the included documentation enter the path to a PDF reader []
  1. Provide a path or press Enter to skip.

The installer displays:

      Install Electric Runner client apps [n/Y]
  1. Decide if you want to install eRunner client apps. eRunner is a “helper” daemon normally installed on all agent machines.

    This daemon listens for commands to execute on agents, facilitating administration tasks. For example, with eRunner you can upgrade all agents at the same time, remotely. Make you selection and press Enter to continue.

If the machine already has eMake installed and you chose to install this version of eMake in a different location, you have the option to allow multiple eMake installations on the same machine. If you don’t allow this, the previous version of eMake will be uninstalled.

If the above conditions are true, the installer displays:

Allow multiple EMake installs in separate directories [y/N]

The installer installs eMake using the configuration details you provided, followed by Installation complete when the install completes.

The installation log file is in the install directory’s root, /opt/ecloud by default.

Path Settings

All ElectricAccelerator components are installed in the /opt/ecloud directory by default.

  • `i686_Linux ` for Linux

  • sun4u_SunOS for Solaris SPARC or i686_SunOS.5.10 for Solaris x86

The scripts are named ecloud.bash.profile (for Bash shells) or ecloud.csh.profile (for c shells). You can source the appropriate file in your shell to ensure your PATH includes Accelerator libraries.