Unable to publish an option due to incompatible controls

Symptoms

When you attempt to publish an option with controls, the option is not published. A notification is displayed stating that no acceptable gateways are available, even though all gateways in the group are at a compatible version for the control.

The Event Manager logs contain entries similar to the following example:

Contact from Event Gateway: <group>/<id>, received via legacy registration, consider upgrading the Event Gateway

Causes

1. Old registration method with SAN URI

In Event Endpoint Management 11.2.1, a new registration process for gateways was introduced which eliminated the need to specify the subject alternative name (SAN) URI in the gateway certificates. For details about the old configuration, see Event Gateway client certificate in the 11.1 documentation. Gateways that have this URI in their certificates still use the old registration even if they are on newer versions. The old registration did not pass their version information to the Event Manager, and the Event Manager cannot determine whether it is allowed to publish certain controls to that gateway so it prevents publishing.

2. Race condition in gateway registration

A potential race condition might arise during the simultaneous updating and registration process of the Event Manager and gateways. In this scenario, an updated gateway might still be perceived as an older version by the Event Manager because it registered after the Event Manager update but before the gateway itself updated. To differentiate this cause from cause 1, there are no error logs in the Event Manager stating that “Contact was received via legacy registration”.

Resolving the problem

Cause 1

To resolve the problem, update the certificates to remove the URI.

  • If you are using an older version of the Event Endpoint Management operator to run a gateway from a different cluster or namespace, ensure that the operator is upgraded.
  • If you are using a stand-alone gateway or you supplied custom certificates to the Event Gateway, check whether those certificates contain the URI and if they do, regenerate the certificates without it.

Cause 2

Restart the Event Manager pod.