cat ${LOGCONF}
} # function configure_karaf_log()
+ function get_os_deploy() {
+ local -r num_systems=${1:-$NUM_OPENSTACK_SYSTEM}
+ case ${num_systems} in
+ 1)
+ OS_DEPLOY="1cmb-0ctl-0cmp"
+ ;;
+ 2)
+ OS_DEPLOY="1cmb-0ctl-1cmp"
+ ;;
+ 3|*)
+ OS_DEPLOY="0cmb-1ctl-2cmp"
+ ;;
+ esac
+ export OS_DEPLOY
+ }
+
function run_plan() {
local -r type=$1
EOF
}
+function tcpdump_start() {
+ local -r prefix=$1
+ local -r ip=$2
+ local -r filter=$3
+ filter_=${filter// /_}
+
+ printf "node ${ip}, ${prefix}_${ip}__${filter}: starting tcpdump\n"
+ ssh ${ip} "nohup sudo /usr/sbin/tcpdump -vvv -ni eth0 ${filter} -w /tmp/tcpdump_${prefix}_${ip}__${filter_}.pcap > /tmp/tcpdump_start.log 2>&1 &"
+ ${SSH} ${ip} "ps -ef | grep tcpdump"
+}
+
+function tcpdump_stop() {
+ local -r ip=$1
+
+ printf "node $ip: stopping tcpdump\n"
+ ${SSH} ${ip} "ps -ef | grep tcpdump.sh"
+ ${SSH} ${ip} "sudo pkill -f tcpdump"
+ ${SSH} ${ip} "sudo xz -9ekvvf /tmp/*.pcap"
+ ${SSH} ${ip} "sudo ls -al /tmp/*.pcap"
+ # copy_logs will copy any *.xz files
+}
+
# Collect the list of files on the hosts
function collect_files() {
local -r ip=$1
NODE_FOLDER="control_${i}"
fi
mkdir -p ${NODE_FOLDER}
+ tcpdump_stop "${!OSIP}"
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}:/tmp/get_devstack.sh.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}
echo "collect_logs: for openstack compute node ip: ${!OSIP}"
NODE_FOLDER="compute_${i}"
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}:/tmp/get_devstack.sh.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}
# shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
source ${ROBOT_VENV}/bin/activate
source /tmp/common-functions.sh ${BUNDLEFOLDER}
- totaltmr=$(timer)
# Ensure we fail the job if any steps fail.
set -ex -o pipefail
+ totaltmr=$(timer)
+ get_os_deploy
PYTHON="${ROBOT_VENV}/bin/python"
SSH="ssh -t -t"
fi
done
+os_ip_list=()
+for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
+ cip=OPENSTACK_CONTROL_NODE_${i}_IP
+ ip=${!cip}
+ os_ip_list+=("${ip}")
+done
+
+for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
+ cip=OPENSTACK_COMPUTE_NODE_${i}_IP
+ ip=${!cip}
+ os_ip_list+=("${ip}")
+done
+
+for i in "${!os_ip_list[@]}"; do
+ ip=${os_ip_list[i]}
+ tcpdump_start "${i}" "${ip}" "port 6653"
+done
+
# Begin stacking the nodes, starting with the controller(s) and then the compute(s)
for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
echo "Install rdo release to avoid incompatible Package versions"
install_rdo_release ${!CONTROLIP}
setup_live_migration_control ${!CONTROLIP}
+ if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+ setup_live_migration_compute ${!CONTROLIP} ${!CONTROLIP}
+ fi
echo "Stack the control node ${i} of ${NUM_OPENSTACK_CONTROL_NODES}: ${CONTROLIP}"
ssh ${!CONTROLIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
ssh ${!CONTROLIP} "ps -ef | grep stack.sh"
--removekeywords name:OpenStackOperations.Add_OVS_Logging_On_All_OpenStack_Nodes \
-v BUNDLEFOLDER:${BUNDLEFOLDER} \
-v BUNDLE_URL:${ACTUAL_BUNDLE_URL} \
+ -v CMP_INSTANCES_SHARED_PATH:/var/instances \
-v CONTROLLERFEATURES:"${CONTROLLERFEATURES}" \
-v CONTROLLER_USER:${USER} \
-v DEVSTACK_DEPLOY_PATH:/opt/stack/devstack \
-v OS_COMPUTE_4_IP:${OPENSTACK_COMPUTE_NODE_4_IP} \
-v OS_COMPUTE_5_IP:${OPENSTACK_COMPUTE_NODE_5_IP} \
-v OS_COMPUTE_6_IP:${OPENSTACK_COMPUTE_NODE_6_IP} \
- -v CMP_INSTANCES_SHARED_PATH:/var/instances \
+ -v OS_DEPLOY:${OS_DEPLOY} \
-v OS_USER:${USER} \
-v PUBLIC_PHYSICAL_NETWORK:${PUBLIC_PHYSICAL_NETWORK} \
-v SECURITY_GROUP_MODE:${SECURITY_GROUP_MODE} \