From 4dfd096ca7c302183847adaf2a1b67fdfa0e30f0 Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Wed, 15 Jun 2016 10:35:41 +0000 Subject: [PATCH] Fix handling of implicit probe targets Also, clean up entrypoint script. --- docker/entrypoint.sh | 27 +-------------------------- docker/run-probe | 2 +- prog/probe.go | 12 ++++++++---- 3 files changed, 10 insertions(+), 31 deletions(-) diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index df443d456..0e459ea61 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,14 +1,7 @@ #!/bin/bash -usage() { - echo "$0 --app.foo bar --probe.foo bar" - exit 1 -} - mkdir -p /var/run/weave -TOKEN_PROVIDED=false - if [ "$1" = "version" -o "$1" = "help" ]; then exec -a scope /home/weave/scope --mode $1 exit 0 @@ -16,34 +9,16 @@ fi for arg in $@; do case "$arg" in - --no-app|--probe-only) + --no-app|--probe-only|--service-token*|--probe.token*) touch /etc/service/app/down ;; --no-probe|--app-only) touch /etc/service/probe/down ;; - --service-token*) - TOKEN_PROVIDED=true - touch /etc/service/app/down - ;; esac done echo "$@" >/var/run/weave/scope-app.args echo "$@" >/var/run/weave/scope-probe.args -# End of the command line can optionally be some -# addresses of apps to connect to, for people not -# using Weave DNS. We stick these in /var/run/weave/apps -# for the run-probe script to pick up. -MANUAL_APPS="" - -# Implicitly target the Scope Service if a service token was provided with -# no explicit manual app. -if [ "$MANUAL_APPS" = "" -a "$TOKEN_PROVIDED" = "true" ]; then - MANUAL_APPS="scope.weave.works:443" -fi - -echo "$MANUAL_APPS" >/var/run/weave/apps - exec /home/weave/runsvinit diff --git a/docker/run-probe b/docker/run-probe index c171768f7..0c654557c 100755 --- a/docker/run-probe +++ b/docker/run-probe @@ -1,3 +1,3 @@ #!/bin/bash -exec -a scope-probe /home/weave/scope --mode probe $(cat /var/run/weave/scope-probe.args) $(cat /var/run/weave/apps) +exec -a scope-probe /home/weave/scope --mode probe $(cat /var/run/weave/scope-probe.args) diff --git a/prog/probe.go b/prog/probe.go index 766692477..2ffa4da8e 100644 --- a/prog/probe.go +++ b/prog/probe.go @@ -38,6 +38,7 @@ import ( const ( versionCheckPeriod = 6 * time.Hour + defaultServiceHost = "cloud.weave.works:443" ) var pluginAPIVersion = "1" @@ -95,12 +96,15 @@ func probeMain(flags probeFlags) { go check(checkpointFlags) var targets = []string{} - if !flags.noApp { + if flags.token != "" { + // service mode + if len(flag.Args()) == 0 { + targets = append(targets, defaultServiceHost) + } + } else if !flags.noApp { targets = append(targets, fmt.Sprintf("localhost:%d", xfer.AppPort)) } - if len(flag.Args()) > 0 { - targets = append(targets, flag.Args()...) - } + targets = append(targets, flag.Args()...) log.Infof("publishing to: %s", strings.Join(targets, ", ")) probeConfig := appclient.ProbeConfig{