From 679f142a91b165a958b5739808d6409d6960b6f4 Mon Sep 17 00:00:00 2001 From: Instrumental Date: Fri, 6 Apr 2018 14:59:36 -0500 Subject: Make cross-container access work Issue-ID: AAF-218 Change-Id: Ib31646e3ce6e38c2ef0a02fe1d2f57cf963a5a4a Signed-off-by: Instrumental --- .../org/onap/aaf/auth/direct/DirectRegistrar.java | 9 +++-- .../onap/aaf/auth/server/JettyServiceStarter.java | 6 +++- auth/docker/Dockerfile | 3 +- auth/docker/d.props | 2 +- auth/docker/drun.sh | 41 ++++++++++++++++------ .../onap/aaf/cadi/register/RemoteRegistrant.java | 14 ++++++-- .../main/java/org/onap/aaf/cadi/config/Config.java | 3 +- 7 files changed, 58 insertions(+), 20 deletions(-) diff --git a/auth/auth-cass/src/main/java/org/onap/aaf/auth/direct/DirectRegistrar.java b/auth/auth-cass/src/main/java/org/onap/aaf/auth/direct/DirectRegistrar.java index 1e8faa2b..695d80f7 100644 --- a/auth/auth-cass/src/main/java/org/onap/aaf/auth/direct/DirectRegistrar.java +++ b/auth/auth-cass/src/main/java/org/onap/aaf/auth/direct/DirectRegistrar.java @@ -63,8 +63,13 @@ public class DirectRegistrar implements Registrant { locate.patch = split.length>2?Integer.parseInt(split[2]):0; locate.minor = split.length>1?Integer.parseInt(split[1]):0; locate.major = split.length>0?Integer.parseInt(split[0]):0; - - locate.hostname = access.getProperty(Config.HOSTNAME, Inet4Address.getLocalHost().getHostName()); + locate.hostname = access.getProperty(Config.CADI_REGISTRATION_HOSTNAME, null); + if(locate.hostname==null) { + locate.hostname = access.getProperty(Config.HOSTNAME, null); + } + if(locate.hostname==null) { + locate.hostname = Inet4Address.getLocalHost().getHostName(); + } String subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null); if(subprotocols==null) { locate.protocol="http"; diff --git a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/JettyServiceStarter.java b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/JettyServiceStarter.java index dbf24cc6..912f4b93 100644 --- a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/JettyServiceStarter.java +++ b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/JettyServiceStarter.java @@ -21,6 +21,7 @@ package org.onap.aaf.auth.server; import java.io.IOException; +import java.net.Inet4Address; import java.net.InetAddress; import java.util.Properties; @@ -112,7 +113,10 @@ public class JettyServiceStarter ex @Override public void _start(RServlet rserv) throws Exception { - final String hostname = access().getProperty(Config.HOSTNAME, "localhost"); + String hostname = access().getProperty(Config.HOSTNAME, null); + if(hostname==null) { + hostname = Inet4Address.getLocalHost().getHostName(); + } final int port = Integer.parseInt(access().getProperty("port","0")); final String keystore = access().getProperty(Config.CADI_KEYSTORE, null); final int IDLE_TIMEOUT = Integer.parseInt(access().getProperty(Config.AAF_CONN_IDLE_TIMEOUT, Config.AAF_CONN_IDLE_TIMEOUT_DEF)); diff --git a/auth/docker/Dockerfile b/auth/docker/Dockerfile index ce785d50..f2920de5 100644 --- a/auth/docker/Dockerfile +++ b/auth/docker/Dockerfile @@ -18,7 +18,8 @@ COPY bin /opt/app/aaf/${AAF_COMPONENT}/bin CMD ["/bin/bash","/opt/app/aaf/${AAF_COMPONENT}/bin/${AAF_COMPONENT}"] # For Debugging installation -#CMD ["/bin/bash","-c","pwd;cd /opt/app/osaaf;find /opt/app/osaaf -depth;df -k; cat /opt/app/aaf/${AAF_COMPONENT}/bin/${AAF_COMPONENT}"] +# CMD ["/bin/bash","-c","pwd;cd /opt/app/osaaf;find /opt/app/osaaf -depth;df -k; cat /opt/app/aaf/${AAF_COMPONENT}/bin/${AAF_COMPONENT};cat /etc/hosts"] +#CMD ["/bin/bash","-c","pwd;cd /opt/app/osaaf;find /opt/app/osaaf -depth;df -k; cat /opt/app/aaf/${AAF_COMPONENT}/bin/${AAF_COMPONENT};cat /etc/hosts;/opt/app/aaf/${AAF_COMPONENT}/bin/${AAF_COMPONENT}"] # Java Debugging VM Args # "-Xdebug",\ # "-Xnoagent",\ diff --git a/auth/docker/d.props b/auth/docker/d.props index 6fc232ee..08a96348 100644 --- a/auth/docker/d.props +++ b/auth/docker/d.props @@ -7,7 +7,7 @@ CONF_ROOT_DIR=/opt/app/osaaf # Local Env info HOSTNAME=meriadoc.mithril.sbc.com -HOST_IP=172.17.0.3 +HOST_IP=192.168.99.102 CASS_HOST=cass.aaf.osaaf.org:172.17.0.2 diff --git a/auth/docker/drun.sh b/auth/docker/drun.sh index 179a7da8..80414ea4 100644 --- a/auth/docker/drun.sh +++ b/auth/docker/drun.sh @@ -9,24 +9,43 @@ fi for AAF_COMPONENT in ${AAF_COMPONENTS}; do case "$AAF_COMPONENT" in - "service") PORTMAP="8100:8100";; - "locate") PORTMAP="8095:8095";; - "oauth") PORTMAP="8140:8140";; - "gui") PORTMAP="8200:8200";; - "cm") PORTMAP="8150:8150";; - "hello") PORTMAP="8130:8130";; - "fs") PORTMAP="80:8096";; + "service") + PORTMAP="8100:8100" + LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" + ;; + "locate") + PORTMAP="8095:8095" + LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" + ;; + "oauth") + PORTMAP="8140:8140" + LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" + ;; + "gui") + PORTMAP="8200:8200" + ;; + "cm") + PORTMAP="8150:8150" + LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" + ;; + "hello") + PORTMAP="8130:8130" + ;; + "fs") + PORTMAP="80:8096" + ;; esac echo Starting aaf_$AAF_COMPONENT... + docker run \ -d \ --name aaf_$AAF_COMPONENT \ - --hostname="$HOSTNAME" \ - --add-host="$CASS_HOST" \ + --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \ + --add-host="$HOSTNAME:$HOST_IP" \ + --add-host="aaf.osaaf.org:$HOST_IP" \ + ${LINKS} \ --publish $PORTMAP \ --mount type=bind,source=$CONF_ROOT_DIR,target=/opt/app/osaaf \ - --link aaf_cass:cassandra \ ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} done -# --add-host="$HOSTNAME:$HOST_IP" \ diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RemoteRegistrant.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RemoteRegistrant.java index 6c1d6682..e9a80dda 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RemoteRegistrant.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RemoteRegistrant.java @@ -27,10 +27,10 @@ import java.net.URI; import java.net.UnknownHostException; import org.onap.aaf.cadi.Access; +import org.onap.aaf.cadi.Access.Level; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; -import org.onap.aaf.cadi.Access.Level; import org.onap.aaf.cadi.aaf.v2_0.AAFCon; import org.onap.aaf.cadi.client.Future; import org.onap.aaf.cadi.client.Rcli; @@ -75,8 +75,17 @@ public class RemoteRegistrant implements Registrant { mep = new MgmtEndpoint(); mep.setName(name); mep.setPort(port); - + try { + String hostnameToRegister = access.getProperty(Config.CADI_REGISTRATION_HOSTNAME, null); + if(hostnameToRegister==null) { + hostnameToRegister = access.getProperty(Config.HOSTNAME, null); + } + if(hostnameToRegister==null) { + hostnameToRegister = Inet4Address.getLocalHost().getHostName(); + } + mep.setHostname(hostnameToRegister); + String latitude = access.getProperty(Config.CADI_LATITUDE, null); if(latitude==null) { latitude = access.getProperty("AFT_LATITUDE", null); @@ -97,7 +106,6 @@ public class RemoteRegistrant implements Registrant { mep.setMinor(split.length>1?Integer.parseInt(split[1]):0); mep.setMajor(split.length>0?Integer.parseInt(split[0]):0); - mep.setHostname(access.getProperty(Config.HOSTNAME, Inet4Address.getLocalHost().getHostName())); String subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null); if(subprotocols==null) { mep.setProtocol("http"); diff --git a/cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java b/cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java index 0871a205..26ad758f 100644 --- a/cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java +++ b/cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java @@ -71,6 +71,7 @@ public class Config { // As of 1.0.2, these have had the dots removed so as to be compatible with JavaBean style // configurations as well as property list style. public static final String HOSTNAME = "hostname"; + public static final String CADI_REGISTRATION_HOSTNAME = "cadi_registration_hostname"; public static final String CADI_PROP_FILES = "cadi_prop_files"; // Additional Properties files (separate with ;) public static final String CADI_LOGLEVEL = "cadi_loglevel"; public static final String CADI_LOGDIR = "cadi_log_dir"; @@ -476,7 +477,7 @@ public class Config { public static String logProp(Access access,String tag, String def) { String rv = access.getProperty(tag, def); if(rv == null) { - access.log(Level.INIT,tag,"is not set"); + access.log(Level.INIT,tag,"is not explicitly set"); } else { access.log(Level.INIT,tag,"is set to",rv); } -- cgit 1.2.3-korg