From 0b051db5e1830d4c36f2fdccdeef18b75f528d05 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Tue, 25 Nov 2014 14:09:26 +0000 Subject: [PATCH] Simplify arg parsing on weave run --- weave | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/weave b/weave index aa7e6246..fa791422 100755 --- a/weave +++ b/weave @@ -403,32 +403,24 @@ case "$COMMAND" in ;; run) [ $# -gt 1 ] || usage + if [ "$1" = "--with-dns" ] ; then + shift 1 + DNS_ARG=$(docker inspect --format '--dns {{ .NetworkSettings.IPAddress }}'" --link $DNS_CONTAINER_NAME:$DNS_CONTAINER_NAME" $DNS_CONTAINER_NAME 2>/dev/null) || true + DNS_SEARCH_ARG="--dns-search=." + for arg in $@; do + case $arg in + --dns-search=*) + DNS_SEARCH_ARG="" + ;; + *) + ;; + esac; + done + fi + validate_cidr $1 + CIDR=$1 + shift 1 create_bridge - for arg in $1 $2; do - case $arg in - [0-9]*) - if [ -z $CIDR ] ; then - validate_cidr $arg - CIDR=$arg - shift 1 - fi - ;; - --with-dns) - shift 1 - DNS_ARG=$(docker inspect --format '--dns {{ .NetworkSettings.IPAddress }}'" --link $DNS_CONTAINER_NAME:$DNS_CONTAINER_NAME" $DNS_CONTAINER_NAME 2>/dev/null) || true - DNS_SEARCH_ARG="--dns-search=." - for arg in $@; do - case $arg in - --dns-search=*) - DNS_SEARCH_ARG="" - ;; - *) - ;; - esac; - done - ;; - esac; - done CONTAINER=$(docker run $DNS_ARG $DNS_SEARCH_ARG -d "$@" | tail -n 1) with_container_netns $CONTAINER attach $CIDR >/dev/null tell_dns PUT $CONTAINER $CIDR