Chapter 10. Troubleshooting Pods can restart for a number of reasons, but a common cause of JBoss EAP pod restarts might include OpenShift resource constraints, especially out-of-memory issues. See the OpenShift documentation for more information on OpenShift pod eviction . 10.1. Troubleshooting Pod restarts By default, JBoss EAP for OpenShift templates are configured to automatically restart affected containers when they encounter situations like out-of-memory issues. The following steps can help you diagnose and troubleshoot out-of-memory and other pod restart issues. Get the name of the pod that has been having trouble. You can see pod names, as well as the number times each pod has restarted with the following command. To diagnose why a pod has restarted, you can examine the JBoss EAP logs of the pod, or the OpenShift events. To see the JBoss EAP logs of the pod, use the following command. To see the OpenShift events, use the following command. If a pod has restarted because of a resource issue, you can attempt to modify your OpenShift pod configuration to increase its resource requests and limits . See the OpenShift documentation for more information on configuring pod compute resources . 10.2. Troubleshooting using the JBoss EAP management CLI The JBoss EAP management CLI, EAP_HOME /bin/jboss-cli.sh , is accessible from within a container for troubleshooting purposes. Important It is not recommended to make configuration changes in a running pod using the JBoss EAP management CLI. Any configuration changes made using the management CLI in a running container will be lost when the container restarts. To make configuration changes to JBoss EAP for OpenShift, see Configuring your JBoss EAP server and application . First open a remote shell session to the running pod. Run the following command from the remote shell session to launch the JBoss EAP management CLI: 10.3. Troubleshooting errors when updating Helm Chart from version 1.0.0 to 1.1.0 on JBoss EAP 8 There may be errors when upgrading Helm Chart to the latest version on JBoss EAP 8. If you modify the immutable field before upgrading Helm Chart, the following error message may be displayed during the upgrade: UPGRADE FAILED: cannot patch "<helm-release-name>" with kind Deployment: Deployment.apps "<helm-release-name>" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"<helm-release-name>", "app.kubernetes.io/name":"<helm-release-name>"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable To resolve this error, delete the deployment resource by running the command oc delete deployment <helm-release-name> before running the command helm upgrade <helm-release-name> .

Commands:
oc get pods
logs --previous POD_NAME
oc get events
oc rsh POD_NAME
/opt/server/bin/jboss-cli.sh
UPGRADE FAILED: cannot patch "<helm-release-name>" with kind Deployment: Deployment.apps "<helm-release-name>" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"<helm-release-name>", "app.kubernetes.io/name":"<helm-release-name>"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable