Helix Swarm Guide (2018.3)

Deploy and configure a Swarm VM from an OVA

Swarm is available as an OVA (Open Virtualization Appliance) that requires minimal configuration.

Use the Swarm OVA if you want to:

  • Simplify the installation and configuration steps
  • Experiment with Swarm without using additional hardware
  • Install Swarm without having a Linux-based server available
Note

Helix Core Server can refer to a Helix Server machine (p4d), proxy, broker, replica, edge server, or commit server. For simplicity, the term Helix Server is used to refer to any configuration of a Helix Core Server machine.

Before you begin

Important

Review the Helix Server requirements before you install Swarm, see Helix Core Server requirements.

You will need the following information to deploy the Swarm Virtual Machine (VM) from the OVA:

  • The Userid of a normal user in the Helix Server with admin privileges.
  • The Ticket, or password of the admin-level Perforce user.
  • Important

    If your Helix Server is configured for Helix SAML, you must use a long-lived login ticket for the Swarm user.

  • The Mail relay host address.

Deploy the Swarm OVA

To deploy the Swarm OVA, follow the instructions on this page.

  1. Download the Swarm OVA.
  2. Import the OVA into your virtualization environment, see VMWare OVA import or Oracle VirtualBox import for details.
  3. Start the VM, diagnostic and boot information is displayed as the VM starts. The configuration welcome screen is displayed when the boot is complete:
  4. Image of the OVA Configuration
  5. Follow the configuration script prompts to configure the Swarm VM passwords and hostname:

    1. Set a password for the root user.
    2. Set a password for the system swarm user.
    3. Set a hostname for the Swarm VM.
  6. The configuration script displays the following prompt:

    Do you want to proceed with Swarm configuration (Y/n)?

    You now have two choices:

    Proceed with the Swarm VM configuration script

    1. To proceed with the Swarm VM configuration script, press the Enter key.
    2. Press the Enter key again to restart the Swarm VM configuration script.
    3. Finalize Swarm VM configuration, see Finalize Swarm configuration for details.

    Exit the Swarm VM configuration script

    1. To exit the Swarm VM configuration script, type n and press the Enter key
    2. The Swarm configuration script exits and the welcome screen is displayed:
    3. Select Login and press the Enter key.
    4. Login to the VM as the root user.
    5. Make changes to the VM as required.
    6. When you have finished making changes to the VM, rerun the configure-swarm.sh script from the /opt/perforce/swarm/sbin directory:

      root@swarm:~# /opt/perforce/swarm/sbin/configure-swarm.sh
    7. Finalize Swarm VM configuration, see Finalize Swarm configuration for details.

Finalize Swarm configuration

Follow the Swarm configuration script prompts to finalize Swarm VM configuration:

Important

If your Helix Server is configured for Helix SAML, the Helix Server must be temporarily configured to allow fall-back to passwords while you establish a connection to the Helix Server. Run the following command on the Helix Server to enable fall-back to passwords:

p4 configure set auth.sso.allow.passwd=1

  1. Enter the Helix Core Server port (P4PORT) number.

    Important

    If your Helix Core Server is deployed using the commit-edge architecture, ensure that the Swarm port value points to the commit server.

    For more information, see the Commit-edge chapter in the Helix Core Server Administrator Guide: Multi-Site Deployment.

  2. Enter the Userid of a normal user with admin privileges in the Helix Server.
  3. Enter the Ticket, or password, of the admin-level Perforce user.
  4. Important

    If your Helix Server is configured for Helix SAML, you must use a long-lived login ticket for the Swarm user.

    Note

    You can obtain a login ticket by running (in another shell):

    $ p4 -p myp4host:1666 -u userid login -p

    If the login ticket you provide would expire in less than a year, you will receive a warning.

  5. Enter the Mail relay host address.
  6. The Swarm configuration script completes the configuration and the welcome screen is displayed.

    The welcome screen lists the links to access Swarm, its documentation, trigger configuration information, the VM management console, Perforce support, and the PHP website:

    Image of the Swarm VM Welcome Screen
  7. Update the VM with security updates and bug fixes:

    1. Use ssh to log into the VM as the root user.
    2. Enter the following commands to update the VM packages list and to apply any available upgrades.

      $ apt-get update
      $ apt-get upgrade

      See OVA Management for more details.

  8. Note

    Now that the Swarm VM is configured and running, you can edit the configuration by using ssh to connect to the VM as the system swarm user and editing the Swarm configuration file /opt/perforce/swarm/data/config.php. The Swarm installation folder is /opt/perforce/swarm/.

  9. The basic Swarm configuration is now complete.

    Important

    If your Helix Server is configured for Helix SAML, you can force all of your users to authenticate via your Identity Provider (IdP) by disabling fall-back to passwords. To disable fall-back to passwords on the Helix Server, run the following command:

    p4 configure set auth.sso.allow.passwd=0

  10. Configure the Swarm triggers on the Helix Server, see Helix Core Server configuration for Swarm.

VMWare OVA import

The Swarm OVA works with several VMWare virtualization products, such as Player, Workstation, and Fusion.

  1. In the VMWare product, select File > Open.
  2. Browse to the swarm.ova file and click Open.
  3. Type a name for the virtual machine, such as Swarm, and click Import.

Oracle VirtualBox import

The Swarm OVA works with Oracle VirtualBox, version 4.x+.

  1. In VirtualBox, select File > Import Appliance.
  2. Browse to the swarm.ova file and click Open.
  3. Click Next (this might be Continue for some versions of VirtualBox)
  4. Click Import.