0c7213f8696143f6870ce1c3709e0d791e518d77
[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 ln -sf /usr/src/arvados/services/login-sync/binstubs/arvados-login-sync /usr/local/bin/arvados-login-sync
21
22 if test "$1" = "--only-deps" ; then
23     exit
24 fi
25
26 set -u
27
28 export ARVADOS_API_HOST=$localip:${services[controller-ssl]}
29 export ARVADOS_API_HOST_INSECURE=1
30 export ARVADOS_API_TOKEN=$(cat $ARVADOS_CONTAINER_PATH/superuser_token)
31 export ARVADOS_VIRTUAL_MACHINE_UUID=$(cat $ARVADOS_CONTAINER_PATH/vm-uuid)
32
33 set +e
34 read -rd $'\000' vm <<EOF
35 {
36  "uuid": "$ARVADOS_VIRTUAL_MACHINE_UUID",
37  "hostname":"$localip"
38 }
39 EOF
40 set -e
41
42 if arv virtual_machine get --uuid $ARVADOS_VIRTUAL_MACHINE_UUID ; then
43     arv virtual_machine update --uuid $ARVADOS_VIRTUAL_MACHINE_UUID --virtual-machine "$vm"
44 else
45     arv virtual_machine create --virtual-machine "$vm"
46 fi