High Availability (active/active) installation troubleshooting

2 minute read

If CloudBees High Availability (HA) is not working as expected, use this page to troubleshoot.

High Availability (HA) developer mode

The High Availability (HA) feature provides a developer mode to troubleshoot HA problems in controllers running in HA mode.

To enable the developer mode in a controller.

  • Navigate to Manage Jenkins  High Availability.

  • Select the Enable developer mode field and select Save or Apply.

Enable developer mode
Figure 1. Enable developer mode

Developer mode is a powerful tool to troubleshoot and understand High Availability. When enabled, the controller provides additional information about the High Availability mode:

  • The replica name appears in the page footer.

  • The background color for the footer changes from one replica to another.

    Footer in developer mode
    Figure 2. Footer in developer mode.
  • The consolidated queue widget notes the queue items in other replicas.

  • The name of running builds adds the name of the replica that owns the build.

Build name in developer mode
Figure 3. Build name in developer mode

In addition to the developer mode, also from the High Availability screen, users can change the replica they are using by selecting the Reset sticky session button.

Switch to another replica
Figure 4. Switch to another replica

When the Reset sticky session is selected, CloudBees CI randomly assigns a new replica to the user. If there is no change and they are assigned to the same replica, users can reload the page and try again until a new replica is assigned

Problems with a CloudBees CI on modern cloud platforms installations

Controller configuration is not set to Deployment

If the controller fails to provision with the error:

ERROR: Failed to provision controller ... StatefulSet is only for non-replicated controllers

The issue was caused by including kind: StatefulSet when configuring the controller under Advanced configurationYAML. To resolve the issue, click Acknowledge error, Free snapshot, then go to the configuration page and change kind: StatefulSet to kind: Deployment in the YAML field.