Fix SC2086 for lines 575 until EOF 26/82326/1
authorThanh Ha <zxiiro@gmail.com>
Thu, 30 May 2019 02:26:44 +0000 (22:26 -0400)
committerThanh Ha <zxiiro@gmail.com>
Thu, 30 May 2019 02:27:40 +0000 (22:27 -0400)
Double quote to prevent globbing and word splitting

Change-Id: I245d01e71ce04bd968d7ad9a13589586ea30e53e
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
jjb/integration/common-functions.sh

index ac9e5dfbcb72eedbacbbba06784422e3a55a39b2..4b289810f19530337f59ef1b7d412312ed211725 100644 (file)
@@ -581,115 +581,115 @@ EOF
             echo "collect_logs: for openstack control node ip: ${!OSIP}"
             NODE_FOLDER="control_${i}"
         fi
-        mkdir -p ${NODE_FOLDER}
+        mkdir -p "${NODE_FOLDER}"
         tcpdump_stop "${!OSIP}"
-        scp extra_debug.sh ${!OSIP}:/tmp
+        scp extra_debug.sh "${!OSIP}":/tmp
         # Capture compute logs if this is a combo node
         if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
-            scp ${!OSIP}:/etc/nova/nova.conf ${NODE_FOLDER}
-            scp ${!OSIP}:/etc/nova/nova-cpu.conf ${NODE_FOLDER}
-            scp ${!OSIP}:/etc/openstack/clouds.yaml ${NODE_FOLDER}
-            rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/nova-agent.log ${NODE_FOLDER}
+            scp "${!OSIP}":/etc/nova/nova.conf "${NODE_FOLDER}"
+            scp "${!OSIP}":/etc/nova/nova-cpu.conf "${NODE_FOLDER}"
+            scp "${!OSIP}":/etc/openstack/clouds.yaml "${NODE_FOLDER}"
+            rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/nova-agent.log "${NODE_FOLDER}"
         fi
-        ${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
-        scp ${!OSIP}:/etc/dnsmasq.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/keystone/keystone.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/keystone/keystone-uwsgi-admin.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/keystone/keystone-uwsgi-public.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/kuryr/kuryr.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/dhcp_agent.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/metadata_agent.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/neutron.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/neutron_lbaas.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/plugins/ml2/ml2_conf.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/neutron/services/loadbalancer/haproxy/lbaas_agent.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/nova.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/nova-api-uwsgi.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/nova_cell1.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/nova-cpu.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/placement-uwsgi.ini ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/openstack/clouds.yaml ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/devstack/.stackenv ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/devstack/nohup.out ${NODE_FOLDER}/stack.log
-        scp ${!OSIP}:/opt/stack/devstack/openrc ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/requirements/upper-constraints.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/tempest/etc/tempest.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/*.xz ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/dmesg.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/extra_debug.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/get_devstack.sh.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/install_ovs.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/journalctl.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/ovsdb-tool.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/tcpdump_start.log ${NODE_FOLDER}
+        ${SSH} "${!OSIP}" "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
+        scp "${!OSIP}":/etc/dnsmasq.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/keystone/keystone.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/keystone/keystone-uwsgi-admin.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/keystone/keystone-uwsgi-public.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/kuryr/kuryr.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/dhcp_agent.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/metadata_agent.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/neutron.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/neutron_lbaas.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/plugins/ml2/ml2_conf.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/neutron/services/loadbalancer/haproxy/lbaas_agent.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/nova.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/nova-api-uwsgi.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/nova_cell1.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/nova-cpu.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/placement-uwsgi.ini "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/openstack/clouds.yaml "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/devstack/.stackenv "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/devstack/nohup.out "${NODE_FOLDER}"/stack.log
+        scp "${!OSIP}":/opt/stack/devstack/openrc "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/requirements/upper-constraints.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/tempest/etc/tempest.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/*.xz "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/dmesg.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/extra_debug.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/get_devstack.sh.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/install_ovs.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/journalctl.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/ovsdb-tool.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/tcpdump_start.log "${NODE_FOLDER}"
         collect_files "${!OSIP}" "${NODE_FOLDER}"
-        ${SSH} ${!OSIP} "sudo tar -cf - -C /var/log rabbitmq | xz -T 0 > /tmp/rabbitmq.tar.xz "
-        scp ${!OSIP}:/tmp/rabbitmq.tar.xz ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/etc/hosts ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/usr/lib/systemd/system/haproxy.service ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/audit/audit.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/httpd/keystone_access.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/httpd/keystone.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/messages* ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/openvswitch/ovs-vswitchd.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/openvswitch/ovsdb-server.log ${NODE_FOLDER}
+        ${SSH} "${!OSIP}" "sudo tar -cf - -C /var/log rabbitmq | xz -T 0 > /tmp/rabbitmq.tar.xz "
+        scp "${!OSIP}":/tmp/rabbitmq.tar.xz "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/etc/hosts "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/usr/lib/systemd/system/haproxy.service "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/audit/audit.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/httpd/keystone_access.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/httpd/keystone.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/messages* "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/openvswitch/ovs-vswitchd.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/openvswitch/ovsdb-server.log "${NODE_FOLDER}"
         collect_openstack_logs "${!OSIP}" "${NODE_FOLDER}" "control"
-        mv local.conf_control_${!OSIP} ${NODE_FOLDER}/local.conf
+        mv "local.conf_control_${!OSIP}" "${NODE_FOLDER}/local.conf"
         # qdhcp files are created by robot tests and copied into /tmp/qdhcp during the test
         tar -cf - -C /tmp qdhcp | xz -T 0 > /tmp/qdhcp.tar.xz
-        mv /tmp/qdhcp.tar.xz ${NODE_FOLDER}
-        mv ${NODE_FOLDER} ${WORKSPACE}/archives/
+        mv /tmp/qdhcp.tar.xz "${NODE_FOLDER}"
+        mv "${NODE_FOLDER}" "${WORKSPACE}"/archives/
     done
 
     # Compute Nodes
     for i in $(seq 1 "${NUM_OPENSTACK_COMPUTE_NODES}"); do
-        OSIP=OPENSTACK_COMPUTE_NODE_${i}_IP
+        OSIP="OPENSTACK_COMPUTE_NODE_${i}_IP"
         echo "collect_logs: for openstack compute node ip: ${!OSIP}"
         NODE_FOLDER="compute_${i}"
-        mkdir -p ${NODE_FOLDER}
+        mkdir -p "${NODE_FOLDER}"
         tcpdump_stop "${!OSIP}"
-        scp extra_debug.sh ${!OSIP}:/tmp
-        ${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
-        scp ${!OSIP}:/etc/nova/nova.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/nova/nova-cpu.conf ${NODE_FOLDER}
-        scp ${!OSIP}:/etc/openstack/clouds.yaml ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/devstack/.stackenv ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/devstack/nohup.out ${NODE_FOLDER}/stack.log
-        scp ${!OSIP}:/opt/stack/devstack/openrc ${NODE_FOLDER}
-        scp ${!OSIP}:/opt/stack/requirements/upper-constraints.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/*.xz ${NODE_FOLDER}/
-        scp ${!OSIP}:/tmp/dmesg.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/extra_debug.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/get_devstack.sh.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/install_ovs.txt ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/journalctl.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/ovsdb-tool.log ${NODE_FOLDER}
-        scp ${!OSIP}:/tmp/tcpdump_start.log ${NODE_FOLDER}
+        scp extra_debug.sh "${!OSIP}":/tmp
+        ${SSH} "${!OSIP}" "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
+        scp "${!OSIP}":/etc/nova/nova.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/nova/nova-cpu.conf "${NODE_FOLDER}"
+        scp "${!OSIP}":/etc/openstack/clouds.yaml "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/devstack/.stackenv "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/devstack/nohup.out "${NODE_FOLDER}"/stack.log
+        scp "${!OSIP}":/opt/stack/devstack/openrc "${NODE_FOLDER}"
+        scp "${!OSIP}":/opt/stack/requirements/upper-constraints.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/*.xz "${NODE_FOLDER}"/
+        scp "${!OSIP}":/tmp/dmesg.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/extra_debug.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/get_devstack.sh.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/install_ovs.txt "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/journalctl.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/ovsdb-tool.log "${NODE_FOLDER}"
+        scp "${!OSIP}":/tmp/tcpdump_start.log "${NODE_FOLDER}"
         collect_files "${!OSIP}" "${NODE_FOLDER}"
-        ${SSH} ${!OSIP} "sudo tar -cf - -C /var/log libvirt | xz -T 0 > /tmp/libvirt.tar.xz "
-        scp ${!OSIP}:/tmp/libvirt.tar.xz ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/etc/hosts ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/audit/audit.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/messages* ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/nova-agent.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/openvswitch/ovs-vswitchd.log ${NODE_FOLDER}
-        rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/openvswitch/ovsdb-server.log ${NODE_FOLDER}
+        ${SSH} "${!OSIP}" "sudo tar -cf - -C /var/log libvirt | xz -T 0 > /tmp/libvirt.tar.xz "
+        scp "${!OSIP}":/tmp/libvirt.tar.xz "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/etc/hosts "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/audit/audit.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/messages* "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/nova-agent.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/openvswitch/ovs-vswitchd.log "${NODE_FOLDER}"
+        rsync --rsync-path="sudo rsync" -avhe ssh "${!OSIP}":/var/log/openvswitch/ovsdb-server.log "${NODE_FOLDER}"
         collect_openstack_logs "${!OSIP}" "${NODE_FOLDER}" "compute"
-        mv local.conf_compute_${!OSIP} ${NODE_FOLDER}/local.conf
-        mv ${NODE_FOLDER} ${WORKSPACE}/archives/
+        mv "local.conf_compute_${!OSIP}" "${NODE_FOLDER}"/local.conf
+        mv "${NODE_FOLDER}" "${WORKSPACE}"/archives/
     done
 
     # Tempest
     DEVSTACK_TEMPEST_DIR="/opt/stack/tempest"
     TESTREPO=".stestr"
-    TEMPEST_LOGS_DIR=${WORKSPACE}/archives/tempest
+    TEMPEST_LOGS_DIR="${WORKSPACE}/archives/tempest"
     # Look for tempest test results in the $TESTREPO dir and copy if found
-    if ${SSH} ${OPENSTACK_CONTROL_NODE_1_IP} "sudo sh -c '[ -f ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/0 ]'"; then
-        ${SSH} ${OPENSTACK_CONTROL_NODE_1_IP} "for I in \$(sudo ls ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/ | grep -E '^[0-9]+$'); do sudo sh -c \"${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/subunit-1to2 < ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/\${I} >> ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt\"; done"
-        ${SSH} ${OPENSTACK_CONTROL_NODE_1_IP} "sudo sh -c '${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/python ${DEVSTACK_TEMPEST_DIR}/.tox/tempest/lib/python2.7/site-packages/os_testr/subunit2html.py ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt ${DEVSTACK_TEMPEST_DIR}/tempest_results.html'"
-        mkdir -p ${TEMPEST_LOGS_DIR}
-        scp ${OPENSTACK_CONTROL_NODE_1_IP}:${DEVSTACK_TEMPEST_DIR}/tempest_results.html ${TEMPEST_LOGS_DIR}
-        scp ${OPENSTACK_CONTROL_NODE_1_IP}:${DEVSTACK_TEMPEST_DIR}/tempest.log ${TEMPEST_LOGS_DIR}
+    if ${SSH} "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo sh -c '[ -f ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/0 ]'"; then
+        ${SSH} "${OPENSTACK_CONTROL_NODE_1_IP}" "for I in \$(sudo ls ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/ | grep -E '^[0-9]+$'); do sudo sh -c \"${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/subunit-1to2 < ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/\${I} >> ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt\"; done"
+        ${SSH} "${OPENSTACK_CONTROL_NODE_1_IP}" "sudo sh -c '${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/python ${DEVSTACK_TEMPEST_DIR}/.tox/tempest/lib/python2.7/site-packages/os_testr/subunit2html.py ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt ${DEVSTACK_TEMPEST_DIR}/tempest_results.html'"
+        mkdir -p "${TEMPEST_LOGS_DIR}"
+        scp "${OPENSTACK_CONTROL_NODE_1_IP}:${DEVSTACK_TEMPEST_DIR}/tempest_results.html" "${TEMPEST_LOGS_DIR}"
+        scp "${OPENSTACK_CONTROL_NODE_1_IP}:${DEVSTACK_TEMPEST_DIR}/tempest.log" "${TEMPEST_LOGS_DIR}"
     else
         echo "tempest results not found in ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/0"
     fi