7 if [ "$OS_VERSION" == 'master' ]; then
10 FULL_OS_VER="stable/${OS_VERSION}"
13 if [ "$ODL_BRANCH" == 'master' ]; then
16 ODL_STREAM=${ODL_BRANCH}
19 git clone https://gerrit.opnfv.org/gerrit/releng.git
20 REL_PATH='releng/jjb/cperf'
22 # NOTE: sourcing overcloudrc unsets any variable with OS_ prefix
23 source ${WORKSPACE}/overcloudrc
24 # note SDN_CONTROLLER_IP is set in overcloudrc, which is the VIP
25 # for admin/public network (since we are running single network deployment)
27 NUM_CONTROL_NODES=$(python ${REL_PATH}/parse-node-yaml.py num_nodes --file $NODE_FILE_PATH)
28 NUM_COMPUTE_NODES=$(python ${REL_PATH}/parse-node-yaml.py num_nodes --node-type compute --file $NODE_FILE_PATH)
32 for idx in `seq 1 $NUM_CONTROL_NODES`; do
33 CONTROLLER_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-number ${idx} --file $NODE_FILE_PATH)
34 EXTRA_ROBOT_ARGS+=" -v ODL_SYSTEM_${idx}_IP:${CONTROLLER_IP} \
35 -v OS_CONTROL_NODE_${idx}_IP:${CONTROLLER_IP} \
36 -v ODL_SYSTEM_${idx}_IP:${CONTROLLER_IP} \
37 -v HA_PROXY_${idx}_IP:${SDN_CONTROLLER_IP}"
41 for idx in `seq 1 $NUM_COMPUTE_NODES`; do
42 COMPUTE_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-type compute --node-number ${idx} --file $NODE_FILE_PATH)
43 EXTRA_ROBOT_ARGS+=" -v OS_COMPUTE_${idx}_IP:${COMPUTE_IP}"
46 CONTROLLER_1_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-number 1 --file $NODE_FILE_PATH)
48 if [ "$ODL_CONTAINERIZED" == 'false' ]; then
49 EXTRA_ROBOT_ARGS+=" -v NODE_KARAF_COUNT_COMMAND:'ps axf | grep org.apache.karaf | grep -v grep | wc -l || echo 0' \
50 -v NODE_START_COMMAND:'sudo systemctl start opendaylight_api' \
51 -v NODE_KILL_COMMAND:'sudo systemctl stop opendaylight_api' \
52 -v NODE_STOP_COMMAND:'sudo systemctl stop opendaylight_api' \
53 -v NODE_FREEZE_COMMAND:'sudo systemctl stop opendaylight_api' "
55 EXTRA_ROBOT_ARGS+=" -v NODE_KARAF_COUNT_COMMAND:\"sudo docker exec opendaylight_api /bin/bash -c 'ps axf | \
56 grep org.apache.karaf | grep -v grep | wc -l' || echo 0\" \
57 -v NODE_START_COMMAND:\"sudo docker start opendaylight_api\" \
58 -v NODE_KILL_COMMAND:\"sudo docker stop opendaylight_api\" \
59 -v NODE_STOP_COMMAND:\"sudo docker stop opendaylight_api\" \
60 -v NODE_FREEZE_COMMAND:\"sudo docker stop opendaylight_api\" "
64 --removekeywords wuks \
65 --xunit robotxunit.xml \
68 -d /tmp/robot_results \
69 -v BUNDLEFOLDER:/opt/opendaylight \
70 -v CONTROLLER_USER:heat-admin \
71 -v DEFAULT_LINUX_PROMPT:\$ \
72 -v DEFAULT_LINUX_PROMPT_STRICT:]\$ \
73 -v DEFAULT_USER:heat-admin \
74 -v DEVSTACK_DEPLOY_PATH:/tmp \
75 -v HA_PROXY_IP:$SDN_CONTROLLER_IP \
76 -v NUM_ODL_SYSTEM:$NUM_CONTROL_NODES \
77 -v NUM_OS_SYSTEM:$NUM_CONTROL_NODES \
78 -v NUM_TOOLS_SYSTEM:0 \
79 -v ODL_SNAT_MODE:conntrack \
80 -v ODL_STREAM:$ODL_STREAM \
81 -v ODL_SYSTEM_IP: $CONTROLLER_1_IP \
82 -v OS_CONTROL_NODE_IP:$CONTROLLER_1_IP \
83 -v OPENSTACK_BRANCH:$FULL_OS_VER \
84 -v OS_USER:heat-admin \
85 -v ODL_ENABLE_L3_FWD:yes \
86 -v ODL_SYSTEM_USER:heat-admin \
87 -v ODL_SYSTEM_PROMPT:\$ \
88 -v PRE_CLEAN_OPENSTACK_ALL:True \
89 -v PUBLIC_PHYSICAL_NETWORK:datacentre \
90 -v RESTCONFPORT:8081 \
91 -v ODL_RESTCONF_USER:admin \
92 -v ODL_RESTCONF_PASSWORD:admin \
93 -v KARAF_PROMPT_LOGIN:'opendaylight-user' \
94 -v KARAF_PROMPT:'opendaylight-user.*root.*>' \
95 -v SECURITY_GROUP_MODE:stateful \
98 -v TOOLS_SYSTEM_IP:'' \
99 -v NODE_ROLE_INDEX_START:0 \
104 docker run -i --net=host \
105 -v ${WORKSPACE}/id_rsa:/tmp/id_rsa \
106 -v ${WORKSPACE}/overcloudrc:/tmp/overcloudrc \
107 opnfv/cperf:$DOCKER_TAG \
108 /bin/bash -c "source /tmp/overcloudrc; mkdir -p \$HOME/.ssh; cp /tmp/id_rsa \$HOME/.ssh; \
109 $robot_cmd /home/opnfv/repos/odl_test/csit/suites/openstack/connectivity/l2.robot;"