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.
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:
- Log in to the OpenShift web console for your cluster.
- From the navigation, click to display all the installed Operators in the current namespace.
- If necessary, select a specific namespace (project) where your IBM App Connect Operator is installed.
- From the Installed Operators view, locate the IBM App
Connect entry, click the options icon () to open the options menu, and then
click Edit Subscription.
- 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.
- To change the frequency of the reconciliation loop, set
- 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.
To change the frequency of, or pause the reconciliation loop for the Operator from the CLI, complete the following steps:
- From the command line, log in to your Red Hat OpenShift cluster by using the oc login command.
- 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.
- 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.
- To change the frequency of the reconciliation loop, set
- Save the YAML definition and close the text editor. The Operator pod
(
ibm-appconnect-operator-uniqueID
) is restarted to apply the changes.