7d73246fe7
Fixes: - SB/NB DB address format (single host) for SB/NB DB daemon - SB/NB DB address format (all hosts) for Neutron / northd / ovn-ovs bootstrap - OVN tests Change-Id: I539773c48f89b731d068280c228ce11782bf5788 Closes-Bug: #1875222
58 lines
2.0 KiB
Bash
Executable File
58 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o xtrace
|
|
set -o errexit
|
|
set -o pipefail
|
|
|
|
# Enable unbuffered output
|
|
export PYTHONUNBUFFERED=1
|
|
|
|
function test_ovn_logged {
|
|
# NOTE(yoctozepto): could use real ini parsing but this is fine for now
|
|
local neutron_ml2_conf_path=/etc/kolla/neutron-server/ml2_conf.ini
|
|
ovn_nb_connection=$(sudo grep -P -o -e "(?<=^ovn_nb_connection = ).*" "$neutron_ml2_conf_path")
|
|
ovn_sb_connection=$(sudo grep -P -o -e "(?<=^ovn_sb_connection = ).*" "$neutron_ml2_conf_path")
|
|
|
|
# List OVN NB/SB entries
|
|
echo "OVN NB DB entries:"
|
|
sudo docker exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" show
|
|
|
|
echo "OVN SB DB entries:"
|
|
sudo docker exec ovn_northd ovn-sbctl --db "$ovn_sb_connection" show
|
|
|
|
# Test OVSDB cluster state
|
|
if [[ $BASE_DISTRO =~ ^(debian|ubuntu)$ ]]; then
|
|
OVNNB_STATUS=$(sudo docker exec ovn_nb_db ovs-appctl -t /var/run/openvswitch/ovnnb_db.ctl cluster/status OVN_Northbound)
|
|
OVNSB_STATUS=$(sudo docker exec ovn_sb_db ovs-appctl -t /var/run/openvswitch/ovnsb_db.ctl cluster/status OVN_Southbound)
|
|
else
|
|
OVNNB_STATUS=$(sudo docker exec ovn_nb_db ovs-appctl -t /var/run/ovn/ovnnb_db.ctl cluster/status OVN_Northbound)
|
|
OVNSB_STATUS=$(sudo docker exec ovn_sb_db ovs-appctl -t /var/run/ovn/ovnsb_db.ctl cluster/status OVN_Southbound)
|
|
fi
|
|
|
|
if [[ $(grep -o "at tcp:" <<< ${OVNNB_STATUS} | wc -l) != "3" ]]; then
|
|
echo "ERR: NB Cluster does not have 3 nodes"
|
|
echo "Output: ${OVNNB_STATUS}"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ $(grep -o "at tcp:" <<< ${OVNSB_STATUS} | wc -l) != "3" ]]; then
|
|
echo "ERR: SB Cluster does not have 3 nodes"
|
|
echo "Output: ${OVNSB_STATUS}"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
function test_ovn {
|
|
echo "Testing OVN"
|
|
test_ovn_logged > /tmp/logs/ansible/test-ovn 2>&1
|
|
result=$?
|
|
if [[ $result != 0 ]]; then
|
|
echo "Testing OVN failed. See ansible/test-ovn for details"
|
|
else
|
|
echo "Successfully tested OVN. See ansible/test-ovn for details"
|
|
fi
|
|
return $result
|
|
}
|
|
|
|
test_ovn
|