58 lines
1.2 KiB
Bash
Executable file
58 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
FROM_HOST=cautotest
|
|
TO_HOST=cautotest-cq
|
|
POOL=pool:cq
|
|
|
|
function quiet() {
|
|
$@ > /dev/null
|
|
}
|
|
|
|
function silent() {
|
|
$@ > /dev/null 2>&1
|
|
}
|
|
|
|
function host_labels() {
|
|
./cli/atest host list --web=$FROM_HOST --parse $1 | awk -F '|' '{ print $5 }' | sed 's/Labels=//' | sed 's/, /,/g'
|
|
}
|
|
|
|
function host_platform() {
|
|
./cli/atest host list --web=$FROM_HOST $1 | sed 1d | awk '{ print $4; }'
|
|
}
|
|
|
|
function lock_host() {
|
|
./cli/atest host mod --web=$FROM_HOST -l $1
|
|
}
|
|
|
|
function create_labels() {
|
|
./cli/atest label create --web=$TO_HOST $1
|
|
}
|
|
|
|
function create_platform() {
|
|
./cli/atest label create -t --web=$TO_HOST $1
|
|
}
|
|
|
|
function create_host() {
|
|
./cli/atest host create --web=$TO_HOST -b $2 $1
|
|
}
|
|
|
|
function remove_host() {
|
|
./cli/atest host delete --web=$FROM_HOST $1
|
|
}
|
|
|
|
HOSTS_TO_MOVE=$(./cli/atest host list --web=$FROM_HOST -b $POOL | sed 1d | awk '{ print $1 }')
|
|
|
|
for host in $HOSTS_TO_MOVE
|
|
do
|
|
# if ! silent lock_host $host; then echo $host already handled; continue; fi
|
|
LABELS=$(host_labels $host)
|
|
PLATFORM=$(host_platform $host)
|
|
silent create_labels $LABELS
|
|
silent create_platform $PLATFORM
|
|
if create_host $host $LABELS
|
|
then
|
|
silent remove_host $host
|
|
echo $host migrated
|
|
else
|
|
echo $host failed
|
|
fi
|
|
done
|