Configuring JVM parameters for Engineering Lifecycle Management instance
The Engineering Lifecycle Management operator allows passing of the JVM parameters to all Engineering Lifecycle Management applications web server (Liberty) processes and repotools shell scripts. The configuration also helps in passing the JVM properties through the config maps.
Procedure
-
Create an app configuration JSON file as appconfig and save it in the
local computer. Following is the example of the application configuration definition JSON with JVM
properties.
{ "common":{ "security":{ "SSL_PROTOCOL":"TLSv1.2,TLSv1.3", "SSL_CIPHERS":"CIPHER1 CIPHER2"} }, "appSpecific":{ "JTS":{ "security":{ "SSL_PROTOCOL":"TLSv1.2,TLSv1.3", "SSL_ENABLED_CIPHERS":"CIPHER1 CIPHER2"}, "jvmconfig":{ "JVM_ARGS": "-Dcom.ibm.team.repository.servlet=false"}, "repotoolconfig":{ "REPOTOOLS_JVM_ARGS": "-Xgcpolicy:gencon"} }, "QM":{ "security":{ "SSL_PROTOCOL":"TLSv1.2,TLSv1.3", "SSL_ENABLED_CIPHERS":"CIPHER1 CIPHER2"} }, "RM":{ "security":{ "SSL_PROTOCOL":"TLSv1.2,TLSv1.3", "SSL_ENABLED_CIPHERS":"CIPHER1 CIPHER2"} }, "CCM":{ "security":{ "SSL_PROTOCOL":"TLSv1.2,TLSv1.3", "SSL_ENABLED_CIPHERS":"CIPHER1 CIPHER2"} } } }- Common > jvmconfig > JVM_ARGS
-
The common JVM_ARGS applies for all Engineering Lifecycle Management applications.
Note: Common > repotoolconfig > REPOTOOLS_JVM_ARGS are not supported as all Engineering Lifecycle Management applications do not support repotools. - appSpecific > {app name} > jvmconfig > JVM_ARGS
-
The JVM properties apply for a specific Engineering Lifecycle Management application only.
- appSpecific > {app name} > repotoolconfig > REPOTOOLS_JVM_ARGS
-
The repotools JVM properties apply to jts, ccm, dcc, gc, qm, eni, rm applications only.
-
Create the configmap by using the following command line. It creates the
user defined configmap. Example elm-application-config in
the project. For more information, Click here
Command for Red Hat OpenShift CLI
Command for Kubernetes CLIoc create configmap elm-application-config --from-file=appconfig=<folder-path-for-elm-application-config.json>
For more information, see Example YAML configurationskubectl create configmap elm-application-config --from-file=appconfig=<folder-path-for-elm-application-config.json> - Define the configmap name in the Engineering Lifecycle Management CR yaml
specification as following
appConfigName: <ConfigMapName> - The following are validations that are set in the background to allow passing the
application configuration parameters:
- JVM properties for Engineering Lifecycle Management web server (Liberty) process jvmconfig > JVM_ARGS does not allow -X parameters to bar users from setting the memory-related properties.
- The operator in the background auto remediates the duplicate JVM_ARGS passed through appConfigName configmap.
- JVM properties for repotools shell scripts do not allow -Xmn , -Xmx, and -Xms parameters to bar users from setting the memory-related properties for repotools.