docker-images
docker-images copied to clipboard
OSB Multinode container STATUS (unhealthy)
We test osb in docker swarm Multinode scenario. Test Environment: 2 host (one of is manager node, other node join), create an attachable overlay network, NFS shared fs(container domain volume) Host1: Manager Node; DB container; AS container, MS1 container Host2: Join Node; MS2 container All container start, weblogic console, servicebus console OK;
ms2 container can start OK, and in weblogic console osb_server2 state ‘RUNNING’;
‘docker ps’ display ms2 container STATUS (unhealthy);
The issues may in get_healthcheck_url.sh: if [ "$MANAGED_SERVER_CONTAINER" = "true" ] ; then echo "http://{$ADMIN_HOST:$MANAGEDSERVER_PORT}/weblogic/ready" ;
osbserver2.env.list
MANAGED_SERVER=osb_server2
DOMAIN_TYPE=osb
DOMAIN_NAME=soainfra
ADMIN_HOST=host1--
Please help to check this error? Thanks
Please apply the below workaround and observe the MS2 container comes to the Healthy state.
Inside the Managed server container (MS2), i. export the environment variable MS_HOST as "export MS_HOST=<Hostname where MS2 container is started>" and ii. update the if condition in "/u01/oracle/container-scripts/get_healthcheck_url.sh" as below:
if [ "$MANAGED_SERVER_CONTAINER" = "true" ] ; then echo "http://{$MS_HOST:$MANAGEDSERVER_PORT}/weblogic/ready" ; else echo "http://{$ADMIN_HOST:$ADMIN_PORT}/weblogic/ready" ; fi
As a workaround, please follow below step to update the health check script in the running MS2 container:
Please find below the content of the updated "get_healthcheck_url.sh" file. In this script, update MS_HOST value and copy (using docker cp command) the script to "/u01/oracle/container-scripts/" directory in the running MS2 container, and see the container comes to Healthy state in a while, when the health check is invoked.
#!/bin/bash # #Copyright (c) 2020, Oracle and/or its affiliates. # #Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. export MS_HOST=<Managed server2 container name> if [ "$MANAGED_SERVER_CONTAINER" = "true" ] ; then echo "http://{$MS_HOST:$MANAGEDSERVER_PORT}/weblogic/ready" ; else echo "http://{$ADMIN_HOST:$ADMIN_PORT}/weblogic/ready" ; fi
Note: These changes will be lost once the container is restarted, hence need to be performed again. To make these changes permanent, the image needs to be re-built with the updated health check file and pass MS_HOST as an environment variable while starting the MS2 container.