Make cross-container access work 39/41439/1
authorInstrumental <jcgmisc@stl.gathman.org>
Fri, 6 Apr 2018 19:59:36 +0000 (14:59 -0500)
committerInstrumental <jcgmisc@stl.gathman.org>
Fri, 6 Apr 2018 20:00:23 +0000 (15:00 -0500)
Issue-ID: AAF-218
Change-Id: Ib31646e3ce6e38c2ef0a02fe1d2f57cf963a5a4a
Signed-off-by: Instrumental <jcgmisc@stl.gathman.org>
auth/auth-cass/src/main/java/org/onap/aaf/auth/direct/DirectRegistrar.java
auth/auth-core/src/main/java/org/onap/aaf/auth/server/JettyServiceStarter.java
auth/docker/Dockerfile
auth/docker/d.props
auth/docker/drun.sh
cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RemoteRegistrant.java
cadi/core/src/main/java/org/onap/aaf/cadi/config/Config.java

index 1e8faa2..695d80f 100644 (file)
@@ -63,8 +63,13 @@ public class DirectRegistrar implements Registrant<AuthzEnv> {
                        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";
index dbf24cc..912f4b9 100644 (file)
@@ -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<ENV extends RosettaEnv, TRANS extends Trans> ex
 
        @Override
        public void _start(RServlet<TRANS> 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));
index ce785d5..f2920de 100644 (file)
@@ -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",\
index 6fc232e..08a9634 100644 (file)
@@ -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
 
 
index 179a7da..80414ea 100644 (file)
@@ -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" \
index 6c1d668..e9a80dd 100644 (file)
@@ -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<ENV extends BasicEnv> implements Registrant<ENV> {
                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<ENV extends BasicEnv> implements Registrant<ENV> {
                        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");
index 0871a20..26ad758 100644 (file)
@@ -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);
                }