#!/bin/bash
# SPDX-License-Identifier: MulanPSL-2.0+
# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.

compute=$1
queues=$2

[ "$CCI_SRC" ] || export CCI_SRC=/c/cbs

kill_multi_docker()
{
	main_process=$(ps -ef | grep  "ruby \/\c\/cbs\/providers\/multi-docker" | awk '{print $2}')
	[ -z  "${main_process[@]}" ] || {
		for process in ${main_process[@]}
		do
			ps -ef | grep $process | awk '{print $2}' | xargs kill -9 >/dev/null 2>&1
		done
	}
}

run_multi_docker()
{
	rm -f /tmp/*/specmeminfo.yaml
	nohup ruby /c/cbs/providers/multi-docker -n $HOSTNAME $compute -q $queues >/dev/null 2>&1 &
}

auto_restart()
{
	cat /etc/rc.d/rc.local | grep -q multi-docker || {
		chmod +x /etc/rc.d/rc.local 
		cat >> /etc/rc.d/rc.local <<EOF
for i in {1..30} 
do
	docker ps >/dev/null 2>&1 && break
	sleep 30
done 
source /etc/profile.d/compass.sh 
rm -rf /tmp/*/specmeminfo.yaml
nohup ruby /c/cbs/providers/multi-docker -n $HOSTNAME $compute -q $queues >/dev/null 2>&1 &
EOF
	}

	sed -i "s/^nohup ruby.*/nohup ruby \/c\/cbs\/providers\/multi-docker -n $HOSTNAME $compute -q $queues \>\/dev\/null 2\>\&1 \&/g" /etc/rc.d/rc.local
}

kill_multi_docker
run_multi_docker
auto_restart
