[ARVADOS] updated: b3905ce85fcfc31df4309c32ee07ff4d943d5fd0
Git user
git at public.curoverse.com
Fri Mar 4 10:01:13 EST 2016
Summary of changes:
doc/install/arvbox.html.textile.liquid | 13 ++++--
tools/arvbox/bin/arvbox | 81 +++++++++++++++++++++++++---------
2 files changed, 68 insertions(+), 26 deletions(-)
via b3905ce85fcfc31df4309c32ee07ff4d943d5fd0 (commit)
from 6303d577e0513eae1254a9c73648c24b9451ed10 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit b3905ce85fcfc31df4309c32ee07ff4d943d5fd0
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Mar 4 10:01:06 2016 -0500
Arvbox improvements: add "pipe", "cat", "ls". Report both container IP address
and published arvbox host. Update install page with new commands. no issue #
diff --git a/doc/install/arvbox.html.textile.liquid b/doc/install/arvbox.html.textile.liquid
index 2420ff7..4d9f504 100644
--- a/doc/install/arvbox.html.textile.liquid
+++ b/doc/install/arvbox.html.textile.liquid
@@ -23,7 +23,8 @@ h2. Requirements
h2. Usage
<pre>
-Arvados-in-a-box
+$ arvbox
+Arvados-in-a-box http://arvados.org
arvbox (build|start|run|open|shell|ip|stop|reboot|reset|destroy|log|svrestart)
@@ -31,15 +32,19 @@ build <config> build arvbox Docker image
start|run <config> start arvbox container
open open arvbox workbench in a web browser
shell enter arvbox shell
-ip print arvbox ip address
+ip print arvbox docker container ip address
+host print arvbox published host
status print some information about current arvbox
stop stop arvbox container
restart <config> stop, then run again
reboot <config> stop, build arvbox Docker image, run
reset delete arvbox arvados data (be careful!)
destroy delete all arvbox code and data (be careful!)
-log <service> tail log of specified service
-sv <start|stop|restart> <service> change state of service inside arvbox
+log <service> tail log of specified service
+ls <options> list directories inside arvbox
+cat <files> get contents of files inside arvbox
+pipe run a bash script piped in from stdin
+sv <start|stop|restart> <service> change state of service inside arvbox
clone <from> <to> clone an arvbox
</pre>
diff --git a/tools/arvbox/bin/arvbox b/tools/arvbox/bin/arvbox
index d790cb6..8b6e56d 100755
--- a/tools/arvbox/bin/arvbox
+++ b/tools/arvbox/bin/arvbox
@@ -56,14 +56,26 @@ getip() {
docker inspect $ARVBOX_CONTAINER | grep \"IPAddress\" | head -n1 | tr -d ' ":,\n' | cut -c10-
}
+gethost() {
+ set +e
+ OVERRIDE=$(docker exec -i $ARVBOX_CONTAINER cat /var/run/localip_override 2>/dev/null)
+ CODE=$?
+ set -e
+ if test "$CODE" = 0 ; then
+ echo $OVERRIDE
+ else
+ getip
+ fi
+}
+
updateconf() {
if test -f ~/.config/arvados/$ARVBOX_CONTAINER.conf ; then
- sed "s/ARVADOS_API_HOST=.*/ARVADOS_API_HOST=$(getip):8000/" <$HOME/.config/arvados/$ARVBOX_CONTAINER.conf >$HOME/.config/arvados/$ARVBOX_CONTAINER.conf.tmp
+ sed "s/ARVADOS_API_HOST=.*/ARVADOS_API_HOST=$(gethost):8000/" <$HOME/.config/arvados/$ARVBOX_CONTAINER.conf >$HOME/.config/arvados/$ARVBOX_CONTAINER.conf.tmp
mv ~/.config/arvados/$ARVBOX_CONTAINER.conf.tmp ~/.config/arvados/$ARVBOX_CONTAINER.conf
else
mkdir -p $HOME/.config/arvados
cat >$HOME/.config/arvados/$ARVBOX_CONTAINER.conf <<EOF
-ARVADOS_API_HOST=$(getip):8000
+ARVADOS_API_HOST=$(gethost):8000
ARVADOS_API_TOKEN=
ARVADOS_API_HOST_INSECURE=true
EOF
@@ -86,7 +98,7 @@ wait_for_arvbox() {
if test -n "$localip" ; then
echo "export ARVADOS_API_HOST=$localip:8000"
else
- echo "export ARVADOS_API_HOST=$(getip):8000"
+ echo "export ARVADOS_API_HOST=$(gethost):8000"
fi
}
@@ -234,7 +246,7 @@ stop() {
build() {
if ! test -f "$ARVBOX_DOCKER/Dockerfile.base" ; then
- echo "Could not find Dockerfile ($ARVBOX_DOCKER/Dockerfile.base)"
+ echo "Could not find Dockerfile (expected it at $ARVBOX_DOCKER/Dockerfile.base)"
exit 1
fi
docker build -t arvados/arvbox-base -f "$ARVBOX_DOCKER/Dockerfile.base" "$ARVBOX_DOCKER"
@@ -273,7 +285,11 @@ case "$subcmd" in
;;
sh*)
- docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM GEM_HOME=/var/lib/gems /bin/bash
+ exec docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM GEM_HOME=/var/lib/gems /bin/bash
+ ;;
+
+ pipe)
+ exec docker exec -i $ARVBOX_CONTAINER /usr/bin/env GEM_HOME=/var/lib/gems /bin/bash -
;;
stop)
@@ -293,19 +309,24 @@ case "$subcmd" in
run $@
;;
- ip|open)
- if test "$subcmd" = 'ip' ; then
- echo $(getip)
- else
- xdg-open http://$(getip)
- fi
+ ip)
+ getip
+ ;;
+
+ host)
+ gethost
+ ;;
+
+ open)
+ exec xdg-open http://$(gethost)
;;
status)
echo "Selected: $ARVBOX_CONTAINER"
if docker ps -a --filter "status=running" | grep -E "$ARVBOX_CONTAINER$" -q ; then
echo "Status: running"
- echo "IP: $(getip)"
+ echo "Container IP: $(getip)"
+ echo "Published host: $(gethost)"
else
echo "Status: not running"
fi
@@ -352,19 +373,31 @@ case "$subcmd" in
log)
if test -n "$1" ; then
- docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM less --follow-name +GF "/etc/service/$1/log/main/current"
+ exec docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM less --follow-name +GF "/etc/service/$1/log/main/current"
else
- docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM tail $(docker exec -ti $ARVBOX_CONTAINER find -L /etc -path '/etc/service/*/log/main/current' -printf " %p")
+ exec docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM tail $(docker exec -ti $ARVBOX_CONTAINER find -L /etc -path '/etc/service/*/log/main/current' -printf " %p")
fi
;;
- sv)
+ cat)
if test -n "$1" ; then
- docker exec -ti $ARVBOX_CONTAINER sv "$1" "$2"
+ exec docker exec -ti $ARVBOX_CONTAINER cat "$@"
+ else
+ echo "Usage: $0 $subcmd <files>"
+ fi
+ ;;
+
+ ls)
+ exec docker exec -ti $ARVBOX_CONTAINER /usr/bin/env TERM=$TERM ls "$@"
+ ;;
+
+ sv)
+ if test -n "$1" -a -n "$2" ; then
+ exec docker exec -ti $ARVBOX_CONTAINER sv "$@"
else
- echo "Usage: $0 $subcmd <service>"
+ echo "Usage: $0 $subcmd <start|stop|restart> <service>"
echo "Available services:"
- docker exec -ti $ARVBOX_CONTAINER ls /etc/service
+ exec docker exec -ti $ARVBOX_CONTAINER ls /etc/service
fi
;;
@@ -380,7 +413,7 @@ case "$subcmd" in
;;
*)
- echo "Arvados-in-a-box"
+ echo "Arvados-in-a-box http://arvados.org"
echo
echo "$(basename $0) (build|start|run|open|shell|ip|stop|reboot|reset|destroy|log|svrestart)"
echo
@@ -388,15 +421,19 @@ case "$subcmd" in
echo "start|run <config> start $ARVBOX_CONTAINER container"
echo "open open arvbox workbench in a web browser"
echo "shell enter arvbox shell"
- echo "ip print arvbox ip address"
+ echo "ip print arvbox docker container ip address"
+ echo "host print arvbox published host"
echo "status print some information about current arvbox"
echo "stop stop arvbox container"
echo "restart <config> stop, then run again"
echo "reboot <config> stop, build arvbox Docker image, run"
echo "reset delete arvbox arvados data (be careful!)"
echo "destroy delete all arvbox code and data (be careful!)"
- echo "log <service> tail log of specified service"
- echo "sv <start|stop|restart> <service> change state of service inside arvbox"
+ echo "log <service> tail log of specified service"
+ echo "ls <options> list directories inside arvbox"
+ echo "cat <files> get contents of files inside arvbox"
+ echo "pipe run a bash script piped in from stdin"
+ echo "sv <start|stop|restart> <service> change state of service inside arvbox"
echo "clone <from> <to> clone an arvbox"
;;
esac
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list