Effect of the reconciliation loop on customized settings for managed resources

Managed (or secondary) resources are artifacts such as services, config maps, deployments, network policies, or secrets that are generated with an assigned owner reference when you deploy an App Connect Dashboard, App Connect Designer, switch server, integration server, or integration runtime custom resource. Avoid manual updates to these managed resources because your updates will be overwritten when the IBM® App Connect Operator attempts to reconcile its resources.

The Operator watches for create, update, and delete events on its custom resources so that it can start a reconciliation loop to reconcile the watched resources and adjust the cluster to the required state. By default, the Operator is also configured to trigger a reconciliation loop every 15 minutes for all custom resources. If the Operator detects that a managed resource has been modified independently of its owning custom resource (for example, a manual update to a service port), the Operator overwrites these updates to revert the managed resource to its initial settings.

If required, you can change the default frequency of the reconciliation loop to accommodate your workload by setting a predefined CR_RECONCILE_PERIOD environment variable (to an integer value in minutes) in the Operator's Subscription object. For example, if you have a large number of deployed integration servers or integration runtimes, you might want to lower the frequency of the reconciliation loop. To aid with problem determination, you can also temporarily pause the reconciliation loop. During this pause, the Operator's webhooks continue to run.

Note: The ability to change the frequency of the reconciliation loop is available in IBM App Connect Operator 2.0.0 or later. The ability to pause the reconciliation loop is available in IBM App Connect Operator 8.1.0 or later.


Changing the frequency of the reconciliation loop from the Red Hat OpenShift web console

Ensure that you have cluster administrator authority with cluster-admin permissions.

To change the frequency of, or pause the reconciliation loop for the Operator from the Red Hat® OpenShift® web console, complete the following steps:

  1. Log in to the OpenShift web console for your cluster.
  2. From the navigation, click Operators > Installed Operators to display all the installed Operators in the current namespace.
  3. If necessary, select a specific namespace (project) where your IBM App Connect Operator is installed.
  4. From the Installed Operators view, locate the IBM App Connect entry, click the options icon (Options menu) to open the options menu, and then click Edit Subscription.
    Edit Subscription menu option for the Operator in the Installed Operators view
  5. Click the YAML tab and then edit the spec section with the following config settings, where integer is a value in minutes.
    spec:
      config:
        env:
        - name: CR_RECONCILE_PERIOD
          value: "integer"
    • To change the frequency of the reconciliation loop, set CR_RECONCILE_PERIOD to a value that is greater than 0 (zero); for example, 60.
    • To temporarily pause the reconciliation loop while investigating a problem, set CR_RECONCILE_PERIOD to a value that is less than or equal to 0 (zero).

      You can later resume the reconciliation loop by removing the config settings from the Operator's Subscription object, which causes the Operator to revert to its default behavior of reconciling every 15 minutes.

  6. Click Save. The Operator pod (ibm-appconnect-operator-uniqueID) is restarted to apply the changes.

Changing the frequency of the reconciliation loop from the Red Hat OpenShift or Kubernetes CLI

Ensure that you have cluster administrator authority with cluster-admin permissions.

Note: These instructions relate to the Red Hat OpenShift CLI, but can be applied to a Kubernetes environment by using the relevant command to log in to the cluster, and substituting oc with kubectl where appropriate.

To change the frequency of, or pause the reconciliation loop for the Operator from the CLI, complete the following steps:

  1. From the command line, log in to your Red Hat OpenShift cluster by using the oc login command.
  2. From the namespace where the Operator is installed, run the following command to partially update its Subscription object.
    oc edit subscription ibm-appconnect

    This command automatically opens the default text editor for your operating system.

  3. Edit the spec section with the following config settings, where integer is a value in minutes.
    spec:
      config:
        env:
        - name: CR_RECONCILE_PERIOD
          value: "integer"
    Tip: You can also use other commands like oc patch or oc apply if preferred; for example:
    oc patch subscription ibm-appconnect -n namespaceName --type=merge -p='{"spec":{"config":{"env":[{"name":"CR_RECONCILE_PERIOD","value":"integer"}]}}}'
    • To change the frequency of the reconciliation loop, set CR_RECONCILE_PERIOD to a value that is greater than 0 (zero); for example, 60.
    • To temporarily pause the reconciliation loop while investigating a problem, set CR_RECONCILE_PERIOD to a value that is less than or equal to 0 (zero).

      You can later resume the reconciliation loop by removing the config settings from the Operator's Subscription object, which causes the Operator to revert to its default behavior of reconciling every 15 minutes.

  4. Save the YAML definition and close the text editor. The Operator pod (ibm-appconnect-operator-uniqueID) is restarted to apply the changes.