From 35cfafc319f616c7326acebbf315d965a7a99bd8 Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Thu, 11 Jun 2015 11:52:33 +0100 Subject: [PATCH] Defer evaluation of $(dns_domain) until necessary --- weave | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/weave b/weave index eb161e14..27e8f27d 100755 --- a/weave +++ b/weave @@ -648,7 +648,7 @@ dns_args() { docker_bridge_ip DNS_ARG="--dns $DOCKER_BRIDGE_IP" DNS_SEARCH_ARG="--dns-search=." - HOSTNAME_ARG="" + NAME_ARG="" HOSTNAME_SPECIFIED=false while [ $# -gt 0 ] ; do case "$1" in @@ -657,11 +657,11 @@ dns_args() { shift ;; --name) - HOSTNAME_ARG="--hostname=$2.$(dns_domain)" + NAME_ARG="$2" shift 2 ;; --name=*) - HOSTNAME_ARG="--hostname=${1#*=}.$(dns_domain)" + NAME_ARG="${1#*=}" shift ;; -h|--hostname|--hostname=*) @@ -673,10 +673,10 @@ dns_args() { ;; esac done - if [ "$HOSTNAME_SPECIFIED" = "true" ] ; then - HOSTNAME_ARG="" + DNS_ARGS="$DNS_ARG $DNS_SEARCH_ARG" + if [ -n "$NAME_ARG" -a "$HOSTNAME_SPECIFIED" = "false" ] ; then + DNS_ARGS="$DNS_ARGS --hostname=$NAME_ARG.$(dns_domain)" fi - DNS_ARGS="$DNS_ARG $DNS_SEARCH_ARG $HOSTNAME_ARG" } # Use the weaveDNS REST API to determine the local domain. If weaveDNS is not