Fixes for ARVBOX_PUBLISH_IP to use a custom hostname
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 1 Nov 2019 18:05:32 +0000 (14:05 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 1 Nov 2019 18:05:32 +0000 (14:05 -0400)
no issue #

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/service/nginx/run

index 9d29eb9f143e8be2d9b88857e093524c73ee3c99..66f249510d07600094b5991043d27661d084648f 100644 (file)
@@ -11,11 +11,12 @@ export npm_config_cache_min=Infinity
 export R_LIBS=/var/lib/Rlibs
 export HOME=$(getent passwd arvbox | cut -d: -f6)
 
+defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }')
+containerip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/')
 if test -s /var/run/localip_override ; then
     localip=$(cat /var/run/localip_override)
 else
-    defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }')
-    localip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/')
+    localip=$containerip
 fi
 
 root_cert=/var/lib/arvados/root-cert.pem
index 1b28a8d014a9fbefc3291440b781d96986fd4caa..5f1e6204fa57a0fff08a3626cdb3e772a777ffe0 100755 (executable)
@@ -8,6 +8,12 @@ set -ex -o pipefail
 
 . /usr/local/lib/arvbox/common.sh
 
+if [[ $containerip != $localip ]] ; then
+    if ! grep -q $localip /etc/hosts ; then
+       echo $containerip $localip >> /etc/hosts
+    fi
+fi
+
 openssl verify -CAfile $root_cert $server_cert
 
 cat <<EOF >/var/lib/arvados/nginx.conf
@@ -31,7 +37,7 @@ http {
      geo \$external_client {
           default     1;
           127.0.0.0/8 0;
-          $localip/32 0;
+          $containerip/32 0;
      }
 
      server {