1#!/bin/bash
2FROM_HOST=cautotest
3TO_HOST=cautotest-cq
4POOL=pool:cq
5
6function quiet() {
7  $@ > /dev/null
8}
9
10function silent() {
11  $@ > /dev/null 2>&1
12}
13
14function host_labels() {
15  ./cli/atest host list --web=$FROM_HOST --parse $1 | awk -F '|' '{ print $5 }' | sed 's/Labels=//' | sed 's/, /,/g'
16}
17
18function host_platform() {
19  ./cli/atest host list --web=$FROM_HOST $1 | sed 1d | awk '{ print $4; }'
20}
21
22function lock_host() {
23  ./cli/atest host mod --web=$FROM_HOST -l $1
24}
25
26function create_labels() {
27  ./cli/atest label create --web=$TO_HOST $1
28}
29
30function create_platform() {
31  ./cli/atest label create -t --web=$TO_HOST $1
32}
33
34function create_host() {
35  ./cli/atest host create --web=$TO_HOST -b $2 $1
36}
37
38function remove_host() {
39  ./cli/atest host delete --web=$FROM_HOST $1
40}
41
42HOSTS_TO_MOVE=$(./cli/atest host list --web=$FROM_HOST -b $POOL | sed 1d | awk '{ print $1 }')
43
44for host in $HOSTS_TO_MOVE
45do
46  # if ! silent lock_host $host; then echo $host already handled; continue; fi
47  LABELS=$(host_labels $host)
48  PLATFORM=$(host_platform $host)
49  silent create_labels $LABELS
50  silent create_platform $PLATFORM
51  if create_host $host $LABELS
52  then
53    silent remove_host $host
54    echo $host migrated
55  else
56    echo $host failed
57  fi
58done
59