aboutsummaryrefslogtreecommitdiffstats
path: root/tests/ci/periodic.sh
blob: 4235cdee9ede104808f50eb1dfbf63bb3c30dad7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#! /bin/bash
##############################################################################
# Copyright (c) 2017 ZTE and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -e


case $INSTALLER_TYPE in
    apex)
        INSTALLER_IP=`sudo virsh domifaddr undercloud | grep ipv4 | awk '{print $4}' | cut -d/ -f1`
        ;;
esac

cat << EOF > $WORKSPACE/env_file
INSTALLER_TYPE=$INSTALLER_TYPE
INSTALLER_IP=$INSTALLER_IP
POD_NAME=$NODE_NAME
SCENARIO=$DEPLOY_SCENARIO
TESTAPI_URL=$TESTAPI_URL
EOF

echo "--------------------------------------------------------"
cat $WORKSPACE/env_file
echo "--------------------------------------------------------"

# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG") ]]; then
    echo "Removing existing opnfv/qtip containers..."
    # workaround: sometimes it throws an error when stopping qtip container.
    # To make sure ci job unblocked, remove qtip container by force without stopping it.
    docker rm -f $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG" | awk '{print $1}')
fi

# Remove existing images if exist
if [[ $(docker images opnfv/qtip:${DOCKER_TAG} | wc -l) -gt 1 ]]; then
    echo "Removing docker image opnfv/qtip:$DOCKER_TAG..."
    docker rmi -f opnfv/qtip:$DOCKER_TAG
fi

echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}"
docker pull opnfv/qtip:$DOCKER_TAG >/dev/null

envs="--env-file $WORKSPACE/env_file"
docker_volume="-v /var/run/docker.sock:/var/run/docker.sock"

cmd="docker run -id ${envs} ${docker_volume} opnfv/qtip:${DOCKER_TAG} /bin/bash"
echo "Qtip: Running docker command: ${cmd}"
${cmd}

container_id=$(docker ps | grep "opnfv/qtip:${DOCKER_TAG}" | awk '{print $1}' | head -1)
if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
    echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
    exit 1
fi

echo "The container ID is: ${container_id}"
QTIP_REPO=/home/opnfv/repos/qtip

if [[ "$INSTALLER_TYPE" == "apex" ]];then
    if [ -f /root/.ssh/id_rsa ]; then
        sudo chmod 600 /root/.ssh/id_rsa
        sudo docker cp /root/.ssh/id_rsa ${container_id}:/root/.ssh/
    fi
fi

case $TEST_SUITE in
    compute)
        docker exec -t ${container_id} bash -c "bash ${QTIP_REPO}/tests/ci/run_compute_qpi.sh"
        ;;
esac

echo "Qtip done!"
exit 0