How the Gateway container process starts
search cancel

How the Gateway container process starts

book

Article ID: 380257

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

Installed API Gateway container version 11.1.1 in AWS environment.

Looking to understand backend DNS resolution behavior in AWS container environment.

Appliance Gateway parameter in /opt/SecureSpan/Gateway/runtime/etc/profile.d/ssgruntimedefs.sh defined: default_java_opts="$default_java_opts -Dsun.net.inetaddr.ttl=30 "    

Where is this defined for Container image 

Environment

Gateway 10.x 11.x

Resolution

There is entry script in our container image (NOTE it’s the same image for k8s (HELM) as docker

 

To view need to access the image to view 

 

Example for docker container 

#  docker exec -it -u 0 <ID from docker ps> /bin/bash

 

View:

/opt/docker/entrypoint.sh

 

This script start the gateway inside the container:   (java extra argos are defined)

The java parameter is define in this script     -Dsun.net.inetaddr.ttl=30

 

Excerpt:

startGateway() {

        info "Starting gateway in foreground"

        touch /opt/SecureSpan/Gateway/node/default/var/preboot

        cd "${GATEWAY_DIR}/runtime"

        # sun.net.inetaddr.ttl and java.util.Arrays.useLegacyMergeSort are system properties that are read during

        # JVM start up and need to be specified as command line args to make sure the values are used.

        # DE471594: fixed by redirecting STDERR to STDOUT (2>&1) in container

        exec java \

                -Xms${SSG_JVM_HEAP} \

                -Xmx${SSG_JVM_HEAP} \

                -XX:+TieredCompilation \

                -Dcom.l7tech.disklessConfig=true \

                -Dcom.l7tech.server.sm.noSecurityManager=true \

                -Dcom.l7tech.server.log.console=true \

                -Dcom.l7tech.server.log.console.extraCats="AUDIT,LOG" \

                -Djava.net.preferIPv4Stack=true \

                -Djava.security.egd=file:/dev/./urandom \

                -Dcom.l7tech.server.defaultClusterHostname="${SSG_CLUSTER_HOST}" \

                -Dcom.l7tech.gateway.remoting.connectionTimeout=500 \

                -classpath "${JAVA_HOME}/lib/ext/*:${GATEWAY_DIR}/runtime/lib/ext/*:${GATEWAY_DIR}/runtime/Gateway.jar" \

                -Dcom.l7tech.server.components=uddi \

                -Dcom.l7tech.bootstrap.env.sslkey.enable=true \

                -Dcom.l7tech.bootstrap.license.require=true \

                -Dcom.l7tech.server.disableFileLogsinks=true \

                -Dsun.net.inetaddr.ttl=30 \

                -Djava.util.Arrays.useLegacyMergesort=true \

                -Djava.security.properties="${GATEWAY_DIR}/runtime/etc/ssg.security" \

                ${ADD_OPENS_ARGS} \

                ${ADD_EXPORTS_ARGS} \

                ${HAZELCAST_ARGS} \

                ${SSG_GC_ARGS} \

                ${DERBY_ARGS} \

                ${EXTRA_JAVA_ARGS} \

                com.l7tech.server.boot.GatewayMain \

        2>&1

}