From your App Connect Dashboard instance, you can stop or start
individual applications that are running in an integration runtime. The stop or start action is
applied to all replica pods that are provisioned for the integration runtime to ensure that a
consistent state is maintained across the pods. This function might be useful for scaling or
resource management, to force a restart, or to switch off problematic applications.
The term application includes applications, REST APIs, and services.
Availability: The ability to stop and start an integration runtime's
applications from an App Connect Dashboard instance is available only for
Dashboard instances with a spec.version value that resolves to 13.0.1.1-r1 or
later. (The integration runtimes do not need to be running at this version in order to use this
feature.)
You can also stop or start an integration runtime as described in Stopping and starting a deployed integration runtime.
About this task
A configuration object of type WorkdirOverride
is
generated, which the integration runtime can use to determine the state of its applications. The
WorkdirOverride configuration type uses a TXT file to specify override values that
can be applied to one or more BAR files in the integration work directory before an integration is
started. These overrides are used to run ibmint apply overrides commands against
the integration work directory to replace configurable values in the BAR deployment descriptor
(broker.xml) with the new values in the TXT file. For more information about
this configuration type, see WorkdirOverride type.
By default, the configuration object is named
integrationRuntimeName-start-mode and it applies overrides for
the startMode configurable property, which is typically specified as follows in
a broker.xml file:
<ConfigurableProperty uri="startMode"/>
The following override is automatically applied to configure an application's run state when you
stop an application:
applicationName/startMode=Manual
When you select the Stop option for an application in the Dashboard UI,
the integrationRuntimeName-start-mode configuration object is
generated with the override details. This configuration object is then automatically referenced in
the spec.configurations setting in the integration runtime CR. The CR update
results in an update of the integration runtime deployment, which in turn causes all the integration
runtime replica pods to restart with the new
integrationRuntimeName-start-mode configuration applied. When
the new pods are running, the application is then stopped as requested. If you later select the
Start option for this application in the Dashboard UI, the configuration
object and its CR reference are deleted, and the change is rolled out across all the replica pods.
Although multiple configuration objects of type WorkdirOverride are allowed per
integration runtime, avoid using an additional WorkdirOverride configuration object
to change the state of the same application that you are starting or stopping from the Dashboard UI,
because the final state will depend on which override is applied last.
Procedure
To stop or start an integration runtime's applications, complete the following
steps:
-
From the Runtimes page of the App Connect Dashboard,
click the tile for a running integration runtime that is in a
Ready state.
Details about the deployed applications are displayed in a set of tabs. In the area preceding the
tabs, the integration runtime name is displayed as the default value in a drop-down list, which also
contains the name of each individual pod that is deployed to run the applications.
Note: The stop or start action is supported at an integration-runtime level rather than a pod level,
so in the drop-down list that you use to display integration or pod-specific details, ensure that
the name of the integration runtime is selected rather than the name of a replica pod. (Selecting
the integration runtime name indicates that the details relate to all the replica pods where the
applications run.)
- From the Contents tab, stop and start an application as
follows.
- To stop an application that is in a
Started state, open the options
menu on the tile and then click Stop.
To confirm, click Stop application or Stop REST
API.
A new configuration object named
integrationRuntimeName-start-mode and of type
WorkdirOverride is generated with details of the override for the stop action; for
example:
Customer_API/startMode=Manual
The integration runtime CR is also updated to reference the configuration object, which in turn
triggers an update of the integration runtime deployment and replica pods.
Wait for a short while for the configuration change to be reconciled across
all replica pods.
By default, a rolling update of the pods occurs to avoid downtime and the length of time it takes
depends on factors such as the speed of the cluster, the number of pods, and the CPU resources that
are allocated to the integration runtime. During this time, the integration runtime is in an
Updating state. When all the new pods are ready, the application tile displays a
Stopped state. In a Dashboard instance at version 13.0.4.2-r1 or earlier, you need
to refresh or reload the page to see the change in state on the application tile. (If you return to
the Runtimes page, the state of the integration runtime should still be shown
as Ready.)
Note:
- You can see the
integrationRuntimeName-start-mode
configuration object on the Configuration page in the Dashboard.
- If you edit the integration runtime CR to manually remove the reference to the
integrationRuntimeName-start-mode configuration object from the
CR, the Stopped state of the application is changed back to
Started because the state is provided through the configuration. However, the
configuration object itself isn't deleted. Stopping the application will cause the integration
runtime CR is again be updated with a reference to the configuration object.
- The
Stopped state is retained for the application even if you upgrade the
integration runtime to a new version, or if you update other values in the integration runtime CR.
You can change this state by using the Start option in the Dashboard.
- If an integration-runtime is running multiple applications as shown in the following example,
you can separately stop or start them. For each individual application that you stop, an override
entry is added to the
integrationRuntimeName-start-mode
configuration object.
- To start an application that is in a
Stopped state, open the options
menu on the tile and then click Start.
To confirm, click Start application or Start REST
API.
The integration runtime CR is updated to remove the reference to the
integrationRuntimeName-start-mode configuration object of type
WorkdirOverride and the configuration object is deleted.
Wait for a short while for the start request to be reconciled across all replica pods. By
default, a rolling update of the pods occurs to avoid downtime and the length of time it takes
depends on factors such as the speed of the cluster, the number of pods, and the CPU resources that
are allocated to the integration runtime. When all the new pods are ready, the application tile
displays a Started state. In a Dashboard instance at version 13.0.4.2-r1 or
earlier, you need to refresh or reload the page to see the change in state on the application
tile.
Note: If multiple applications for an integration-runtime are in a Stopped state,
the relevant override entry is removed from the
integrationRuntimeName-start-mode configuration object for each
application that is started, and the reference is removed from the CR. The configuration object is
deleted only after the last application is started.