From b21afcb78f43da49ed2361c01c1575b68a2aee66 Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Tue, 10 Nov 2015 16:42:58 +0000 Subject: [PATCH] Implement `weave launch-plugin` and `weave stop-plugin` --- weave | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/weave b/weave index 49456ef3..5acd9edc 100755 --- a/weave +++ b/weave @@ -58,6 +58,7 @@ weave launch-proxy [-H ] [--with-dns | --without-dns] [--hostname-match ] [--hostname-replacement ] [--rewrite-inspect] +weave launch-plugin weave env [--restore] weave config weave connect [--replace] [ ...] @@ -80,6 +81,7 @@ weave ps [ ...] weave stop weave stop-router weave stop-proxy +weave stop-plugin weave reset weave rmpeer @@ -290,6 +292,7 @@ IMAGE=$BASE_IMAGE:$IMAGE_VERSION BASE_PLUGIN_IMAGE=$DOCKERHUB_USER/plugin PLUGIN_IMAGE=$BASE_PLUGIN_IMAGE:$IMAGE_VERSION +PLUGIN_CONTAINER_NAME=weaveplugin PROCFS=${PROCFS:-/proc} DOCKER_BRIDGE=${DOCKER_BRIDGE:-docker0} @@ -1558,6 +1561,18 @@ stop_proxy() { stop $PROXY_CONTAINER_NAME "Proxy" } +launch_plugin() { + PLUGIN_CONTAINER=$(docker run --privileged -d --name=$PLUGIN_CONTAINER_NAME \ + --net=host \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v /run/docker/plugins:/run/docker/plugins \ + $PLUGIN_IMAGE "$@") +} + +stop_plugin() { + stop $PLUGIN_CONTAINER_NAME "Plugin" +} + ########################################################################################## [ $(id -u) = 0 ] || { @@ -1708,6 +1723,11 @@ EOF launch_proxy "$@" echo $PROXY_CONTAINER ;; + launch-plugin) + check_not_running $PLUGIN_CONTAINER_NAME $BASE_PLUGIN_IMAGE + launch_plugin "$@" + echo $PLUGIN_CONTAINER + ;; env|proxy-env) [ "$COMMAND" = "env" ] || deprecation_warning "$COMMAND" "'weave env'" if PROXY_ADDR=$(proxy_addr) ; then @@ -1949,6 +1969,10 @@ EOF [ $# -eq 0 ] || usage stop_proxy ;; + stop-plugin) + [ $# -eq 0 ] || usage + stop_plugin + ;; reset) [ $# -eq 0 ] || usage warn_if_stopping_proxy_in_env