#!/bin/bash
# SPDX-License-Identifier: MulanPSL-2.0+
# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
# For your reference only.
# It's better to run the below scripts step by step.

# 使能环境变量
w_value="$1"
t_value="$2"
export WORKER=$w_value
if [ "$t_value" != "None" ]; then
    export HETE_TESTBOX=$t_value
fi

source /etc/profile.d/compass.sh

# 初始化redis集群
echo "==============初始化redis集群================"
kubectl exec -it redis-0 -n ems1 -- redis-cli --cluster create $(kubectl get pods -l app=redis -n ems1 -o wide|grep -v "IP"|awk '{printf $6":6379 "}') --cluster-replicas 1

# 重启result-webdav
echo "==============重启result-webdav================"
cd $CCI_SRC/container/result-webdav
./build
./start
if [ -n "WORKER" ]; then
    worker=($WORKER)
    for w in "${workers[@]}"; do
        echo "==============执行 $w 上的操作================"
        ssh $w <<EOF
        cd $CCI_SRC/container/result-webdav/
        ./start
EOF
    done
fi

# 混合架构重启ccache/sub-fluentd/squid
if [ -n "$HETE_TESTBOX" ]; then
    testbox="$HETE_TESTBOX"
    echo "==============在 $testbox 上执行操作================"
    ssh "$testbox" <<EOF

    arch=\$(arch)
    images_dir="/images"

    # 异构重启sub-fluentd
    echo "==============混合架构重启sub-fluentd================"
    mkdir -p "\$images_dir"
    cd "\$images_dir"
    wget "https://eulermaker.compass-ci.openeuler.openatom.cn/api/ems1/repositories/EulerMaker/latest/\$arch/sub-fluentd-alpine-\$arch.tar.gz"
    gunzip -d sub-fluentd-\$arch.tar.gz
    docker load -i sub-fluentd-\$arch.tar
    for image in \$(docker images | grep -w sub-fluentd | awk '{if (\$2 == "<none>") {print \$1} else {print \$1":"\$2}}' | awk -F '/' '{print \$2}'); do
        eval \$(docker tag "registry.kubeoperator.io:8082/\$image" "\$image")
        bash \$CCI_SRC/container/push "\$image"
    done

    # 异构重启ccache
    echo "==============混合架构重启ccache================"
    wget "https://eulermaker.compass-ci.openeuler.openatom.cn/api/ems1/repositories/EulerMaker/latest/\$arch/ccache-latest-\$arch.tar.gz"
    gunzip -d ccache-latest-\$arch.tar.gz
    docker load -i ccache-latest-\$arch.tar
    for image in \$(docker images | grep -w ccache | awk '{if (\$2 == "<none>") {print \$1} else {print \$1":"\$2}}' | awk -F '/' '{print \$2}'); do
        eval \$(docker tag "registry.kubeoperator.io:8082/\$image" "\$image")
        bash \$CCI_SRC/container/push "\$image"
    done
EOF

    # 异构重启squid
    echo "==============混合架构重启squid================"
    scp -r "$CCI_SRC/container/squid" "$testbox:$CCI_SRC/container/"
    ssh "$testbox" <<EOF
    cd "$CCI_SRC/container/squid"
    sed -i '/^rm -f .\/confd\/squid-.*\.conf$/ s/^/#/' build
    sed -i '/^\.\/config_squid.sh$/ s/^/#/' build
    ./build
    exit
EOF
    cd "$CCI_SRC/container/squid"
    ./start
fi