Upgrading to BrowserBot 2

BrowserBot 2 introduces a containerized runtime environment for page load and transaction tests that is orchestrated using Podman. In doing so, it improves the consistency of browser-based test results and paves the way for new configuration options in page load and transaction tests.

Depending on the specifics of your Enterprise Agent deployments, you may need to take action prior to the rollout of BrowserBot 2. This article gives installation type- and OS-specific instructions.

If you need more time to complete these steps before the January 10, 2022 rollout, you may consider disabling agent updates until you are able to do so. A brief guide for that is included below.

Preparing Enterprise Agents for the BrowserBot Update

Docker Agents

All Docker agents running page load or transaction tests need to meet the following requirements before updating to BrowserBot 2:

  • Their reported image version must be 0.14-1635966276 (or newer).

  • They must be installed with appropriate AppArmor, seccomp, and/or SELinux configuration.

A guide to fulfilling each requirement is provided below.

Updating to Image Version 0.14-1635966276 or Newer

To inspect the image version of a Docker agent, go to Cloud & Enterprise Agents > Agent Settings and click the agent's row to expand the agent's configuration modal. A conforming Docker agent is shown below. If your Docker agent does not indicate an image version, it is too old to support BrowserBot 2 and must be upgraded.

To upgrade a Docker agent's image version, see Reinstalling the Enterprise Agent.

Installing with Appropriate AppArmor, Seccomp, and/or SELinux Configuration

To ensure your Docker host is set up with the appropriate AppArmor, seccomp, and/or SELinux configuration, use the instructions in Reinstalling the Enterprise Agent. The requirements are the same as were previously required for Docker agents running transaction tests. Beginning with BrowserBot 2, these configurations are also required for Docker agents running page load tests.

Linux Package Agents

Red Hat Enterprise Linux (RHEL), CentOS, and Oracle Linux

For Linux package agents running on version 7.X of RHEL and Oracle Linux distributions, you must make the following changes before your agents can upgrade to BrowserBot 2:

Additionally, users deploying BrowserBot 2 on RHEL, CentOS, or Oracle Linux may wish to review certain SELinux-related configurations that will be automatically installed on upgrade.

Enabling the "extras" package repository

This requirement only applies to RHEL 7.X and Oracle Linux 7.X distributions.

In order to install Podman and its dependencies, agents on RHEL 7.X and Oracle Linux 7.X distributions must enable an officially distributed "server extras" repository that is not enabled by default. The repository's name and how to enable it is provided for each OS below:

  • RHEL 7.X: subscription-manager repos --enable=rhel-7-server-extras-rpms

  • Oracle Linux 7.X: yum-config-manager -q -y --enable ol7_addons

Until this repository is enabled, BrowserBot will fail to upgrade to version 2.

SELinux Considerations

This section is informational and requires no action on the part of users.

On CentOS 7.X, RHEL 7.X/8.X, and Oracle Linux 7.X/8.X enterprise agents, BrowserBot 2's package installation scripts will make two SELinux configuration changes that enable Page Load and Transaction tests to run while SELinux is in targeted enforcing mode. These changes are:

  • An SELinux policy module called te-browserbot

  • An SELinux file context equivalency rule between /var/lib/containers and /var/lib/containers/te-browserbot-podman

The te-browserbot policy module is installed at /usr/share/selinux/packages/te-browserbot.pp.bz2 and allows the te-browserbot-podman-proxy.service process to communicate with the UNIX domain socket opened by te-browserbot-podman.service.

The file context equivalency rule tells SELinux to treat /var/lib/containers/te-browserbot-podman (the non-standard --root and --runroot location used by BrowserBot's podman daemon) the same as /var/lib/containers (the standard --root location used by Podman). This is important because the container-selinux package (an open-source, transitive dependency of podman) assumes that all Podman runtimes are configured with --root=/var/lib/containers. BrowserBot's file context equivalency rule applies container-selinux's runtime-hardening SELinux policies to BrowserBot's non-standard Podman configuration.

Both the policy module and the file context rule are installed by the te-browserbot RPM package and are removed when te-browserbot is removed. Their presence on an Enterprise Agent can be confirmed as follows:

[root@bbot /]# semodule -l | grep te-browserbot
te-browserbot
[root@bbot /]# semanage fcontext -l | grep /var/lib/containers/te-browserbot-podman
/var/lib/containers/te-browserbot-podman = /var/lib/containers
[root@bbot /]# ls /usr/share/selinux/packages/
container.pp.bz2  te-browserbot.pp.bz2

Amazon Linux 2

On November 16, 2021, we announced the end of support for installing BrowserBot on Amazon Linux 2. While BrowserBot 1 installations will continue to work, we anticipate that these agents will not upgrade to BrowserBot 2.

Ubuntu

No action required.

Other Installation Types

No action required.

Verifying the Upgrade to BrowserBot 2

Please check the following to ensure that your Enterprise Agent has successfully upgraded to BrowserBot 2:

  1. Check that the BrowserBot version visible in the Agent Settings page begins with a "2"

  2. Confirm that the te-sandboxd process is no longer running: ps aux | grep te-sandboxd

  3. Run an instant Page Load or Transaction test using the default configuration. Simply enter "https://www.google.com" as the URL and click "Run Once." If no "Internal Error" is shown for your Enterprise Agent, then the upgrade should be successful.

Last updated