summaryrefslogtreecommitdiffstats
path: root/jjb/functest/functest-env-presetup.sh
blob: 81718a5e34dd93c5158dc24c021e924c5bd1a9dd (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
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail

# Fetch INSTALLER_IP for APEX deployments
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
    if [ -n "$RC_FILE_PATH" ]; then
        echo "RC_FILE_PATH is set: ${RC_FILE_PATH}...skipping detecting UC IP"
    else
        echo "Gathering IP information for Apex installer VM"
        ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
        if sudo virsh list | grep undercloud; then
            echo "Installer VM detected"
            undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
                      grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
            export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
            export sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
            sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc
            export stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc"

            if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
                sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
            fi
            if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
                sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
            fi
            echo "Installer ip is ${INSTALLER_IP}"
        else
            echo "No available installer VM exists and no credentials provided...exiting"
            exit 1
        fi
    fi

elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
    echo "Gathering IP information for Daisy installer VM"
    if sudo virsh list | grep daisy; then
        echo "Installer VM detected"

        bridge_name=$(sudo virsh domiflist daisy | grep vnet | awk '{print $3}')
        echo "Bridge is $bridge_name"

        installer_mac=$(sudo virsh domiflist daisy | grep vnet | \
                      grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
        export INSTALLER_IP=$(/usr/sbin/arp -e -i $bridge_name | grep ${installer_mac} | head -n 1 | awk {'print $1'})

        echo "Installer ip is ${INSTALLER_IP}"
    else
        echo "No available installer VM exists...exiting"
        exit 1
    fi

elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
    if [[ ! "${BRANCH}" =~ "danube" ]]; then
        echo "Map mcp ssh_key"
        export sshkey_vol="-v ${SSH_KEY:-/var/lib/opnfv/mcp.rsa}:/root/.ssh/id_rsa"
    fi
fi