docker-images icon indicating copy to clipboard operation
docker-images copied to clipboard

OSB Multinode container STATUS (unhealthy)

Open jansonkwo opened this issue 4 years ago • 2 comments

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-- ADMIN_PORT=7001 ADMIN_PASSWORD=Welcome1 MANAGED_SERVER_CONTAINER=true MANAGEDSERVER_PORT=9002

Please help to check this error? Thanks

jansonkwo avatar Aug 11 '21 02:08 jansonkwo

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

sbattagi avatar Aug 11 '21 10:08 sbattagi

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.

sbattagi avatar Aug 12 '21 07:08 sbattagi