18657: Can't symlink to binstubs, need to invoke them in place
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / vm / run-service
1 #!/bin/bash
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 exec 2>&1
7 sleep 2
8 set -ex -o pipefail
9
10 . /usr/local/lib/arvbox/common.sh
11
12 if test "$1" != "--only-deps" ; then
13   while [ ! -f $ARVADOS_CONTAINER_PATH/api.ready ]; do
14     sleep 1
15   done
16 fi
17
18 cd /usr/src/arvados/services/login-sync
19 run_bundler --binstubs=$PWD/binstubs
20
21 if test "$1" = "--only-deps" ; then
22     exit
23 fi
24
25 set -u
26
27 export ARVADOS_API_HOST=$localip:${services[controller-ssl]}
28 export ARVADOS_API_HOST_INSECURE=1
29 export ARVADOS_API_TOKEN=$(cat $ARVADOS_CONTAINER_PATH/superuser_token)
30 export ARVADOS_VIRTUAL_MACHINE_UUID=$(cat $ARVADOS_CONTAINER_PATH/vm-uuid)
31
32 set +e
33 read -rd $'\000' vm <<EOF
34 {
35  "uuid": "$ARVADOS_VIRTUAL_MACHINE_UUID",
36  "hostname":"$localip"
37 }
38 EOF
39 set -e
40
41 if arv virtual_machine get --uuid $ARVADOS_VIRTUAL_MACHINE_UUID ; then
42     arv virtual_machine update --uuid $ARVADOS_VIRTUAL_MACHINE_UUID --virtual-machine "$vm"
43 else
44     arv virtual_machine create --virtual-machine "$vm"
45 fi