From: Thanh Ha Date: Wed, 7 Aug 2019 23:59:42 +0000 (-0400) Subject: Resolve ShellCheck for integration-apex-run-tests X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=a8c41f1f77b1bf7d4bcde109fc64e94494d9ba04;p=releng%2Fbuilder.git Resolve ShellCheck for integration-apex-run-tests Change-Id: Ia428c45b02bade3df081682744605dbc05a8be4a Signed-off-by: Thanh Ha --- diff --git a/jjb/integration/integration-apex-run-tests.sh b/jjb/integration/integration-apex-run-tests.sh index a6a51127d..49c7aa6d8 100644 --- a/jjb/integration/integration-apex-run-tests.sh +++ b/jjb/integration/integration-apex-run-tests.sh @@ -3,8 +3,8 @@ # ${ROBOT_VENV} comes from the integration-install-robotframework.sh # script. # shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091 -source ${ROBOT_VENV}/bin/activate -source /tmp/common-functions.sh ${BUNDLEFOLDER} +source "${ROBOT_VENV}/bin/activate" +source /tmp/common-functions.sh "${BUNDLEFOLDER}" # Ensure we fail the job if any steps fail. set -ex -o pipefail @@ -12,19 +12,19 @@ print_job_parameters get_os_deploy -configure_karaf_log_for_apex $OPENSTACK_CONTROL_NODE_1_IP +configure_karaf_log_for_apex "$OPENSTACK_CONTROL_NODE_1_IP" get_features -configure_odl_features_for_apex $OPENSTACK_CONTROL_NODE_1_IP +configure_odl_features_for_apex "$OPENSTACK_CONTROL_NODE_1_IP" # Swap out the ODL distribution DISTRO_UNDER_TEST=/tmp/odl.tar.gz -wget --progress=dot:mega ${ACTUAL_BUNDLE_URL} -UNZIPPED_DIR=`dirname "$(unzip -qql ${BUNDLE} | head -n1 | tr -s ' ' | cut -d' ' -f5-)"` -unzip -q ${BUNDLE} -tar czf ${DISTRO_UNDER_TEST} ${UNZIPPED_DIR} +wget --progress=dot:mega "${ACTUAL_BUNDLE_URL}" +UNZIPPED_DIR=$(dirname "$(unzip -qql "${BUNDLE}" | head -n1 | tr -s ' ' | cut -d' ' -f5-)") +unzip -q "${BUNDLE}" +tar czf "${DISTRO_UNDER_TEST}" "${UNZIPPED_DIR}" git clone https://gerrit.opnfv.org/gerrit/sdnvpn.git /tmp/sdnvpn pushd /tmp/sdnvpn; git fetch https://gerrit.opnfv.org/gerrit/sdnvpn refs/changes/93/63293/1 && git checkout FETCH_HEAD; popd -/tmp/sdnvpn/odl-pipeline/lib/odl_reinstaller.sh --pod-config ${WORKSPACE}/node.yaml --odl-artifact ${DISTRO_UNDER_TEST} --ssh-key-file ~/.ssh/robot_id_rsa +/tmp/sdnvpn/odl-pipeline/lib/odl_reinstaller.sh --pod-config "${WORKSPACE}/node.yaml" --odl-artifact "${DISTRO_UNDER_TEST}" --ssh-key-file ~/.ssh/robot_id_rsa cat > /tmp/extra_node_configs.sh << EOF sudo jq -c '. + {"neutron::plugins::ovs::opendaylight::provider_mappings": ["datacentre:br-datacentre"]}' /etc/puppet/hieradata/config_step.json > tmp.$$.json && mv -f tmp.$$.json /etc/puppet/hieradata/config_step.json @@ -36,12 +36,12 @@ EOF echo "cat extra_node_configs.sh" cat /tmp/extra_node_configs.sh -scp /tmp/extra_node_configs.sh $OPENSTACK_CONTROL_NODE_1_IP:/tmp -ssh $OPENSTACK_CONTROL_NODE_1_IP "sudo bash /tmp/extra_node_configs.sh" -scp /tmp/extra_node_configs.sh $OPENSTACK_COMPUTE_NODE_1_IP:/tmp -ssh $OPENSTACK_COMPUTE_NODE_1_IP "sudo bash /tmp/extra_node_configs.sh" -scp /tmp/extra_node_configs.sh $OPENSTACK_COMPUTE_NODE_2_IP:/tmp -ssh $OPENSTACK_COMPUTE_NODE_2_IP "sudo bash /tmp/extra_node_configs.sh" +scp /tmp/extra_node_configs.sh "$OPENSTACK_CONTROL_NODE_1_IP:/tmp" +ssh "$OPENSTACK_CONTROL_NODE_1_IP" "sudo bash /tmp/extra_node_configs.sh" +scp /tmp/extra_node_configs.sh "$OPENSTACK_COMPUTE_NODE_1_IP:/tmp" +ssh "$OPENSTACK_COMPUTE_NODE_1_IP" "sudo bash /tmp/extra_node_configs.sh" +scp /tmp/extra_node_configs.sh "$OPENSTACK_COMPUTE_NODE_2_IP:/tmp" +ssh "$OPENSTACK_COMPUTE_NODE_2_IP" "sudo bash /tmp/extra_node_configs.sh" USER=heat-admin openstack object save OPNFV-APEX-SNAPSHOTS overcloudrc @@ -50,31 +50,41 @@ cat overcloudrc openstack hypervisor list # Extra Configs needed for CSIT: -wget -O ${WORKSPACE}/cirros-0.3.5-x86_64-disk.img http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img +wget -O "${WORKSPACE}/cirros-0.3.5-x86_64-disk.img" http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img export ANSIBLE_HOST_KEY_CHECKING=False -ansible-playbook -i ${OPENSTACK_CONTROL_NODE_1_IP}, -u heat-admin --key-file /tmp/id_rsa /tmp/opnfv_releng/jjb/cperf/cirros-upload.yaml.ansible -vvv +ansible-playbook -i "${OPENSTACK_CONTROL_NODE_1_IP}", -u heat-admin --key-file /tmp/id_rsa /tmp/opnfv_releng/jjb/cperf/cirros-upload.yaml.ansible -vvv PHYSNET_WORK=datacentre -BR_WORK=br-${PHYSNET_WORK} -ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" -ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:01" - -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:02" - -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:03" - -ssh ${OPENSTACK_CONTROL_NODE_1_IP} " +BR_WORK="br-${PHYSNET_WORK}" +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:01" + +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:02" + +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}" +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:03" + +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" " sudo ovs-vsctl add-port ${BR_WORK} compute_1_vxlan -- set interface compute_1_vxlan type=vxlan options:local_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:remote_ip=${OPENSTACK_COMPUTE_NODE_1_IP} options:dst_port=9876 options:key=flow " -ssh ${OPENSTACK_CONTROL_NODE_1_IP} " +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" " sudo ovs-vsctl add-port ${BR_WORK} compute_2_vxlan -- set interface compute_2_vxlan type=vxlan options:local_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:remote_ip=${OPENSTACK_COMPUTE_NODE_2_IP} options:dst_port=9876 options:key=flow " -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} " +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" " sudo ovs-vsctl add-port ${BR_WORK} control_1_vxlan -- set interface control_1_vxlan type=vxlan options:local_ip=${OPENSTACK_COMPUTE_NODE_1_IP} options:remote_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:dst_port=9876 options:key=flow " -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} " +# shellcheck disable=SC2029 +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" " sudo ovs-vsctl add-port ${BR_WORK} control_1_vxlan -- set interface control_1_vxlan type=vxlan options:local_ip=${OPENSTACK_COMPUTE_NODE_2_IP} options:remote_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:dst_port=9876 options:key=flow " @@ -83,10 +93,12 @@ ssh ${OPENSTACK_COMPUTE_NODE_2_IP} " EXTNET_GATEWAY_IP="10.10.10.250" EXTNET_INTERNET_IP="10.9.9.9" EXTNET_PNF_IP="10.10.10.253" -ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24" +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24" # Control Node - external net PNF simulation -ssh ${OPENSTACK_CONTROL_NODE_1_IP} " +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" " sudo ip netns add pnf_ns; sudo ip link add pnf_veth0 type veth peer name pnf_veth1; sudo ip link set pnf_veth1 netns pnf_ns; @@ -95,14 +107,15 @@ ssh ${OPENSTACK_CONTROL_NODE_1_IP} " sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0; " # Control Node - external net internet address simulation -ssh ${OPENSTACK_CONTROL_NODE_1_IP} " +# shellcheck disable=SC2029 +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" " sudo ip tuntap add dev internet_tap mode tap; sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24; " -ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl show" -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl show" -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl show" +ssh "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo ovs-vsctl show" +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" "sudo ovs-vsctl show" +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" "sudo ovs-vsctl show" get_test_suites SUITES @@ -112,81 +125,81 @@ suite_num=0 for suite in ${SUITES}; do # prepend an incremental counter to the suite name so that the full robot log combining all the suites as is done # in the rebot step below will list all the suites in chronological order as rebot seems to alphabetize them - let "suite_num = suite_num + 1" + ((suite_num = suite_num + 1)) suite_index="$(printf %02d ${suite_num})" - suite_name="$(basename ${suite} | cut -d. -f1)" + suite_name="$(basename "${suite}" | cut -d. -f1)" log_name="${suite_index}_${suite_name}" - robot -N ${log_name} \ - -c critical -e exclude -e skip_if_${DISTROSTREAM} -e NON_GATE \ - --log log_${log_name}.html --report report_${log_name}.html --output output_${log_name}.xml \ + robot -N "${log_name}" \ + -c critical -e exclude -e "skip_if_${DISTROSTREAM}" -e NON_GATE \ + --log "log_${log_name}.html" --report "report_${log_name}.html" --output "output_${log_name}.xml" \ --removekeywords wuks \ --removekeywords name:SetupUtils.Setup_Utils_For_Setup_And_Teardown \ --removekeywords name:SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing \ --removekeywords name:OpenStackOperations.Add_OVS_Logging_On_All_OpenStack_Nodes \ - -v BUNDLEFOLDER:${BUNDLEFOLDER} \ - -v BUNDLE_URL:${ACTUAL_BUNDLE_URL} \ + -v BUNDLEFOLDER:"${BUNDLEFOLDER}" \ + -v BUNDLE_URL:"${ACTUAL_BUNDLE_URL}" \ -v CMP_INSTANCES_SHARED_PATH:/var/instances \ -v CONTROLLERFEATURES:"${CONTROLLERFEATURES}" \ - -v CONTROLLER_USER:${USER} \ + -v CONTROLLER_USER:"${USER}" \ -v DEFAULT_LINUX_PROMPT:\$ \ -v DEFAULT_LINUX_PROMPT_STRICT:]\$ \ - -v DEFAULT_USER:${USER} \ - -v ENABLE_ITM_DIRECT_TUNNELS:${ENABLE_ITM_DIRECT_TUNNELS} \ - -v HA_PROXY_IP:$ODL_SYSTEM_IP \ - -v JDKVERSION:${JDKVERSION} \ - -v JENKINS_WORKSPACE:${WORKSPACE} \ + -v DEFAULT_USER:"${USER}" \ + -v ENABLE_ITM_DIRECT_TUNNELS:"${ENABLE_ITM_DIRECT_TUNNELS}" \ + -v HA_PROXY_IP:"$ODL_SYSTEM_IP" \ + -v JDKVERSION:"${JDKVERSION}" \ + -v JENKINS_WORKSPACE:"${WORKSPACE}" \ -v KARAF_LOG:/opt/opendaylight/data/log/karaf.log \ - -v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \ - -v NUM_ODL_SYSTEM:${NUM_ODL_SYSTEM} \ - -v NUM_OS_SYSTEM:${NUM_OPENSTACK_SYSTEM} \ - -v NUM_TOOLS_SYSTEM:${NUM_TOOLS_SYSTEM} \ - -v ODL_RESTCONF_PASSWORD:$SDN_CONTROLLER_PASSWORD \ - -v ODL_SNAT_MODE:${ODL_SNAT_MODE} \ - -v ODL_STREAM:${DISTROSTREAM} \ - -v ODL_SYSTEM_IP:${ODL_SYSTEM_IP} \ - -v ODL_SYSTEM_1_IP:${ODL_SYSTEM_1_IP} \ - -v OS_CONTROL_NODE_IP:${OPENSTACK_CONTROL_NODE_1_IP} \ - -v OS_CONTROL_NODE_1_IP:${OPENSTACK_CONTROL_NODE_1_IP} \ - -v OPENSTACK_BRANCH:${OPENSTACK_BRANCH} \ - -v OS_COMPUTE_1_IP:${OPENSTACK_COMPUTE_NODE_1_IP} \ - -v OS_COMPUTE_2_IP:${OPENSTACK_COMPUTE_NODE_2_IP} \ - -v OPENSTACK_TOPO:${OPENSTACK_TOPO} \ - -v OS_USER:${USER} \ - -v PUBLIC_PHYSICAL_NETWORK:${PHYSNET_WORK} \ + -v NEXUSURL_PREFIX:"${NEXUSURL_PREFIX}" \ + -v NUM_ODL_SYSTEM:"${NUM_ODL_SYSTEM}" \ + -v NUM_OS_SYSTEM:"${NUM_OPENSTACK_SYSTEM}" \ + -v NUM_TOOLS_SYSTEM:"${NUM_TOOLS_SYSTEM}" \ + -v ODL_RESTCONF_PASSWORD:"$SDN_CONTROLLER_PASSWORD" \ + -v ODL_SNAT_MODE:"${ODL_SNAT_MODE}" \ + -v ODL_STREAM:"${DISTROSTREAM}" \ + -v ODL_SYSTEM_IP:"${ODL_SYSTEM_IP}" \ + -v ODL_SYSTEM_1_IP:"${ODL_SYSTEM_1_IP}" \ + -v OS_CONTROL_NODE_IP:"${OPENSTACK_CONTROL_NODE_1_IP}" \ + -v OS_CONTROL_NODE_1_IP:"${OPENSTACK_CONTROL_NODE_1_IP}" \ + -v OPENSTACK_BRANCH:"${OPENSTACK_BRANCH}" \ + -v OS_COMPUTE_1_IP:"${OPENSTACK_COMPUTE_NODE_1_IP}" \ + -v OS_COMPUTE_2_IP:"${OPENSTACK_COMPUTE_NODE_2_IP}" \ + -v OPENSTACK_TOPO:"${OPENSTACK_TOPO}" \ + -v OS_USER:"${USER}" \ + -v PUBLIC_PHYSICAL_NETWORK:"${PHYSNET_WORK}" \ -v RESTCONFPORT:8081 \ - -v SECURITY_GROUP_MODE:${SECURITY_GROUP_MODE} \ + -v SECURITY_GROUP_MODE:"${SECURITY_GROUP_MODE}" \ -v SSH_KEY:robot_id_rsa \ -v TOOLS_SYSTEM_IP: \ - -v USER_HOME:${HOME} \ + -v USER_HOME:"${HOME}" \ -v WORKSPACE:/tmp \ - ${TESTOPTIONS} ${suite} || true + "${TESTOPTIONS}" "${suite}" || true done #rebot exit codes seem to be different -rebot --output ${WORKSPACE}/output.xml --log log_full.html --report report.html -N openstack output_*.xml || true +rebot --output "${WORKSPACE}/output.xml" --log log_full.html --report report.html -N openstack output_*.xml || true echo "Collecting logs" -mkdir -p ${WORKSPACE}/archives - -ssh ${ODL_SYSTEM_IP} "mkdir /tmp/controller_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/controller_sos/ --name controller_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" -ssh ${ODL_SYSTEM_IP} "sudo chmod -R 0777 /tmp/controller_sos/; tar cvzf /tmp/controller_sos.tar.gz /tmp/controller_sos" -scp ${ODL_SYSTEM_IP}:/tmp/controller_sos.tar.gz ${WORKSPACE}/archives/controller_sos.tar.gz -gunzip ${WORKSPACE}/archives/controller_sos.tar.gz -tar -xvf ${WORKSPACE}/archives/controller_sos.tar -C ${WORKSPACE}/archives/ - -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "mkdir /tmp/compute_1_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_1_sos/ --name compute_1_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" -ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo chmod -R 0777 /tmp/compute_1_sos/; tar cvzf /tmp/compute_1_sos.tar.gz /tmp/compute_1_sos" -scp ${OPENSTACK_COMPUTE_NODE_1_IP}:/tmp/compute_1_sos.tar.gz ${WORKSPACE}/archives/compute_1_sos.tar.gz -gunzip ${WORKSPACE}/archives/compute_1_sos.tar.gz -tar -xvf ${WORKSPACE}/archives/compute_1_sos.tar -C ${WORKSPACE}/archives/ - -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "mkdir /tmp/compute_2_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_2_sos/ --name compute_2_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" -ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo chmod -R 0777 /tmp/compute_2_sos/; tar cvzf /tmp/compute_2_sos.tar.gz /tmp/compute_2_sos" -scp ${OPENSTACK_COMPUTE_NODE_2_IP}:/tmp/compute_2_sos.tar.gz ${WORKSPACE}/archives/compute_2_sos.tar.gz -gunzip ${WORKSPACE}/archives/compute_2_sos.tar.gz -tar -xvf ${WORKSPACE}/archives/compute_2_sos.tar -C ${WORKSPACE}/archives/ - -mv ${WORKSPACE}/archives/tmp/* ${WORKSPACE}/archives/ -rm -rf ${WORKSPACE}/archives/tmp +mkdir -p "${WORKSPACE}/archives" + +ssh "${ODL_SYSTEM_IP}" "mkdir /tmp/controller_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/controller_sos/ --name controller_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" +ssh "${ODL_SYSTEM_IP}" "sudo chmod -R 0777 /tmp/controller_sos/; tar cvzf /tmp/controller_sos.tar.gz /tmp/controller_sos" +scp "${ODL_SYSTEM_IP}":/tmp/controller_sos.tar.gz "${WORKSPACE}/archives/controller_sos.tar.gz" +gunzip "${WORKSPACE}/archives/controller_sos.tar.gz" +tar -xvf "${WORKSPACE}/archives/controller_sos.tar" -C "${WORKSPACE}/archives/" + +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" "mkdir /tmp/compute_1_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_1_sos/ --name compute_1_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" +ssh "${OPENSTACK_COMPUTE_NODE_1_IP}" "sudo chmod -R 0777 /tmp/compute_1_sos/; tar cvzf /tmp/compute_1_sos.tar.gz /tmp/compute_1_sos" +scp "${OPENSTACK_COMPUTE_NODE_1_IP}":/tmp/compute_1_sos.tar.gz "${WORKSPACE}/archives/compute_1_sos.tar.gz" +gunzip "${WORKSPACE}/archives/compute_1_sos.tar.gz" +tar -xvf "${WORKSPACE}/archives/compute_1_sos.tar" -C "${WORKSPACE}/archives/" + +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" "mkdir /tmp/compute_2_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_2_sos/ --name compute_2_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch" +ssh "${OPENSTACK_COMPUTE_NODE_2_IP}" "sudo chmod -R 0777 /tmp/compute_2_sos/; tar cvzf /tmp/compute_2_sos.tar.gz /tmp/compute_2_sos" +scp "${OPENSTACK_COMPUTE_NODE_2_IP}":/tmp/compute_2_sos.tar.gz "${WORKSPACE}/archives/compute_2_sos.tar.gz" +gunzip "${WORKSPACE}/archives/compute_2_sos.tar.gz" +tar -xvf "${WORKSPACE}/archives/compute_2_sos.tar" -C "${WORKSPACE}/archives/" + +mv "${WORKSPACE}"/archives/tmp/* "${WORKSPACE}/archives/" +rm -rf "${WORKSPACE}/archives/tmp" true # perhaps Jenkins is testing last exit code # vim: ts=4 sw=4 sts=4 et ft=sh :