diff --git a/proxy/proxy.go b/proxy/proxy.go index 63bf4fed..d6fdaa13 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -8,7 +8,6 @@ import ( "net" "net/http" "os" - "path/filepath" "regexp" "strings" "sync" @@ -284,16 +283,15 @@ func (proxy *Proxy) listen(protoAndAddr string) (net.Listener, string, error) { } case "unix": - localAddr := filepath.Join("/host", addr) // remove socket from last invocation - if err := os.Remove(localAddr); err != nil && !os.IsNotExist(err) { + if err := os.Remove(addr); err != nil && !os.IsNotExist(err) { return nil, "", err } - listener, err = net.Listen(proto, localAddr) + listener, err = net.Listen(proto, addr) if err != nil { return nil, "", err } - if err = copyOwnerAndPermissions(dockerSock, localAddr); err != nil { + if err = copyOwnerAndPermissions(dockerSock, addr); err != nil { return nil, "", err } diff --git a/test/650_proxy_env_test.sh b/test/650_proxy_env_test.sh index 345f661e..593f3d6d 100755 --- a/test/650_proxy_env_test.sh +++ b/test/650_proxy_env_test.sh @@ -28,10 +28,4 @@ weave_on $HOST1 stop weave_on $HOST1 launch-proxy -H tcp://0.0.0.0:12375 -H unix:///var/run/weave/weave.sock check -# Check we can use weave env/config with unix -Hs specified -weave_on $HOST1 stop -weave_on $HOST1 launch-proxy -H unix:///var/run/weave/weave.sock -assert_raises "run_on $HOST1 'eval \$(weave env) ; docker $CMD'" -assert_raises "run_on $HOST1 'docker \$(weave config) $CMD'" - end_suite diff --git a/test/690_proxy_config_test.sh b/test/690_proxy_autoconfig_test.sh similarity index 81% rename from test/690_proxy_config_test.sh rename to test/690_proxy_autoconfig_test.sh index 6293a3f5..ce6e18b2 100755 --- a/test/690_proxy_config_test.sh +++ b/test/690_proxy_autoconfig_test.sh @@ -2,7 +2,7 @@ . ./config.sh -start_suite "Various launch-proxy configurations" +start_suite "Boot the proxy should only listen on client's interface" # Booting it over unix socket listens on unix socket run_on $HOST1 COVERAGE=$COVERAGE sudo -E weave launch-proxy @@ -22,11 +22,6 @@ assert_raises "run_on $HOST1 sudo docker -H unix:///var/run/weave/weave.sock ps" assert_raises "proxy docker_on $HOST1 ps" weave_on $HOST1 stop-proxy -# Booting it with -H outside /var/run/weave, still works -socket="$(mktemp -d)/weave.sock" -weave_on $HOST1 launch-proxy -H unix://$socket -assert_raises "run_on $HOST1 sudo docker -H unix:///$socket ps" 0 -weave_on $HOST1 stop-proxy # Booting it over tls errors assert_raises "DOCKER_CLIENT_ARGS='--tls' weave_on $HOST1 launch-proxy" 1 diff --git a/test/gce.sh b/test/gce.sh index ae22739a..b1cc7cca 100755 --- a/test/gce.sh +++ b/test/gce.sh @@ -140,7 +140,7 @@ function hosts { hosts="$hostname $hosts" args="--add-host=$hostname:$(internal_ip $json $name) $args" done - echo export SSH=\"ssh -l vagrant\" + echo export SSH=ssh echo export HOSTS=\"$hosts\" echo export ADD_HOST_ARGS=\"$args\" rm $json diff --git a/weave b/weave index 987c9c2e..460936d6 100755 --- a/weave +++ b/weave @@ -96,7 +96,6 @@ usage() { exec_remote() { docker $DOCKER_CLIENT_ARGS run --rm --privileged --net=host \ -v /var/run/docker.sock:/var/run/docker.sock \ - -v /var/run:/host/var/run \ -v /proc:/hostproc \ -e PROCFS=/hostproc \ -e DOCKERHUB_USER="$DOCKERHUB_USER" \ @@ -1262,36 +1261,17 @@ tls_arg() { PROXY_ARGS="$PROXY_ARGS $1 /home/weave/tls/$3.pem" } -# TODO: Handle relative paths for args -# TODO: Handle args with spaces -host_arg() { - PROXY_HOST="$1" - if [ "$PROXY_HOST" != "${PROXY_HOST#unix://}" ]; then - host=$(dirname ${PROXY_HOST#unix://}) - if [ "$host" = "${host#/}" ]; then - echo "When launching the proxy, unix sockets must be specified as an absolute path." >&2 - exit 1 - fi - if [ "$host" = "/var/run" ]; then - host=/var/run/weave - PROXY_VAR_RUN_SYMLINKS="$PROXY_VAR_RUN_SYMLINKS $(basename ${PROXY_HOST#unix://})" - fi - PROXY_VOLUMES="$PROXY_VOLUMES -v $host:/host$host" - PROXY_ARGS="$PROXY_ARGS -H unix://$host/$(basename ${PROXY_HOST#unix://})" - else - PROXY_ARGS="$PROXY_ARGS -H $1" - fi -} - proxy_parse_args() { while [ $# -gt 0 ]; do case "$1" in -H) - host_arg "$2" + PROXY_HOST="$2" + PROXY_ARGS="$PROXY_ARGS $1 $2" shift ;; -H=*) - host_arg "${1#*=}" + PROXY_HOST="${1#*=}" + PROXY_ARGS="$PROXY_ARGS $1" ;; -no-detect-tls|--no-detect-tls) PROXY_TLS_DETECTION_DISABLED=1 @@ -1352,7 +1332,7 @@ proxy_args() { PROXY_HOST="tcp://0.0.0.0:12375" ;; esac - host_arg "$PROXY_HOST" + PROXY_ARGS="$PROXY_ARGS -H $PROXY_HOST" fi } @@ -1557,6 +1537,7 @@ launch_proxy() { PROXY_CONTAINER=$(docker run --privileged -d --name=$PROXY_CONTAINER_NAME --net=host \ $PROXY_VOLUMES \ -v /var/run/docker.sock:/var/run/docker.sock \ + -v /var/run/weave:/var/run/weave \ -v /proc:/hostproc \ -e PROCFS=/hostproc \ -e WEAVE_CIDR=none \ @@ -1566,9 +1547,6 @@ launch_proxy() { --entrypoint=/home/weave/weaveproxy \ $WEAVEPROXY_DOCKER_ARGS $EXEC_IMAGE $COVERAGE_ARGS $PROXY_ARGS) wait_for_status $PROXY_CONTAINER_NAME http_call_unix $PROXY_CONTAINER_NAME status.sock - for sock in $PROXY_VAR_RUN_SYMLINKS; do - ln -sf -T "/var/run/weave/$sock" "/host/var/run/$sock" - done } stop_proxy() {