|
Packit Service |
5e62f7 |
#!/bin/bash -ex
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
EXEC_PATH=$(dirname "$(realpath "$0")")
|
|
Packit Service |
5e62f7 |
PROJECT_PATH="$(dirname $EXEC_PATH)"
|
|
Packit Service |
5e62f7 |
EXPORT_DIR="$PWD/exported-artifacts"
|
|
Packit Service |
5e62f7 |
CONT_EXPORT_DIR="/exported-artifacts"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
CONTAINER_WORKSPACE="/workspace/nmstate"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
TEST_TYPE_ALL="all"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_FORMAT="format"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_LINT="lint"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_UNIT_PY36="unit_py36"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_UNIT_PY38="unit_py38"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_INTEG="integ"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_INTEG_TIER1="integ_tier1"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_INTEG_TIER2="integ_tier2"
|
|
Packit Service |
5e62f7 |
TEST_TYPE_INTEG_SLOW="integ_slow"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
FEDORA_IMAGE_DEV="docker.io/nmstate/fedora-nmstate-dev"
|
|
Packit Service |
5e62f7 |
CENTOS_IMAGE_DEV="docker.io/nmstate/centos8-nmstate-dev"
|
|
Packit Service |
5e62f7 |
CENTOS_STREAM_IMAGE_DEV="docker.io/nmstate/centos-stream-nmstate-dev"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
CREATED_INTERFACES=""
|
|
Packit Service |
5e62f7 |
INTERFACES="eth1 eth2"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
PYTEST_OPTIONS="--verbose --verbose \
|
|
Packit Service |
5e62f7 |
--log-level=DEBUG \
|
|
Packit Service |
5e62f7 |
--log-date-format='%Y-%m-%d %H:%M:%S' \
|
|
Packit Service |
5e62f7 |
--log-format='%(asctime)s %(filename)s:%(lineno)d %(levelname)s %(message)s' \
|
|
Packit Service |
5e62f7 |
--durations=5 \
|
|
Packit Service |
5e62f7 |
--cov /usr/lib/python*/site-packages/libnmstate \
|
|
Packit Service |
5e62f7 |
--cov /usr/lib/python*/site-packages/nmstatectl \
|
|
Packit Service |
5e62f7 |
--cov-report=term \
|
|
Packit Service |
5e62f7 |
--cov-report=xml \
|
|
Packit Service |
5e62f7 |
--log-file=pytest-run.log"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
NMSTATE_TEMPDIR=$(mktemp -d /tmp/nmstate-test-XXXX)
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
VETH_PEER_NS="nmstate_test"
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
: ${CONTAINER_CMD:=podman}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
test -t 1 && USE_TTY="-t"
|
|
Packit Service |
5e62f7 |
source automation/tests-container-utils.sh
|
|
Packit Service |
5e62f7 |
source automation/tests-machine-utils.sh
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function pyclean {
|
|
Packit Service |
5e62f7 |
exec_cmd '
|
|
Packit Service |
5e62f7 |
find . -type f -name "*.py[co]" -delete
|
|
Packit Service |
5e62f7 |
find . -type d -name "__pycache__" -delete
|
|
Packit Service |
5e62f7 |
'
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function exec_cmd {
|
|
Packit Service |
5e62f7 |
if [ -z ${RUN_BAREMETAL} ];then
|
|
Packit Service |
5e62f7 |
container_exec "$1"
|
|
Packit Service |
5e62f7 |
else
|
|
Packit Service |
5e62f7 |
bash -c "$1"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function dump_network_info {
|
|
Packit Service |
5e62f7 |
exec_cmd '
|
|
Packit Service |
5e62f7 |
nmcli dev; \
|
|
Packit Service |
5e62f7 |
# Use empty PAGER variable to stop nmcli send output to less which hang \
|
|
Packit Service |
5e62f7 |
# the CI. \
|
|
Packit Service |
5e62f7 |
PAGER= nmcli con; \
|
|
Packit Service |
5e62f7 |
ip addr; \
|
|
Packit Service |
5e62f7 |
ip route; \
|
|
Packit Service |
5e62f7 |
cat /etc/resolv.conf; \
|
|
Packit Service |
5e62f7 |
head /proc/sys/net/ipv6/conf/*/disable_ipv6; \
|
|
Packit Service |
5e62f7 |
'
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function install_nmstate {
|
|
Packit Service |
5e62f7 |
if [ $INSTALL_NMSTATE == "true" ];then
|
|
Packit Service |
5e62f7 |
exec_cmd '
|
|
Packit Service |
5e62f7 |
rpm -ivh `./packaging/make_rpm.sh|tail -1 || exit 1`
|
|
Packit Service |
5e62f7 |
'
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function run_tests {
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_FORMAT ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "tox -e black"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_LINT ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "tox -e flake8,pylint,yamllint"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_UNIT_PY36 ];then
|
|
Packit Service |
5e62f7 |
if [[ $CONTAINER_IMAGE == *"centos"* ]]; then
|
|
Packit Service |
5e62f7 |
# Due to https://github.com/pypa/virtualenv/issues/1009
|
|
Packit Service |
5e62f7 |
# Instruct virtualenv not to upgrade to the latest versions of pip,
|
|
Packit Service |
5e62f7 |
# setuptools, wheel and etc
|
|
Packit Service |
5e62f7 |
exec_cmd 'env VIRTUALENV_NO_DOWNLOAD=1 \
|
|
Packit Service |
5e62f7 |
tox --sitepackages -e py36'
|
|
Packit Service |
5e62f7 |
else
|
|
Packit Service |
5e62f7 |
exec_cmd "tox -e py36"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_UNIT_PY38 ];then
|
|
Packit Service |
5e62f7 |
if [[ $CONTAINER_IMAGE == *"centos"* ]]; then
|
|
Packit Service |
5e62f7 |
echo "Running unit test in $CONTAINER_IMAGE container is not " \
|
|
Packit Service |
5e62f7 |
"support yet"
|
|
Packit Service |
5e62f7 |
else
|
|
Packit Service |
5e62f7 |
exec_cmd "tox -e py38"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_INTEG ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "cd $CONTAINER_WORKSPACE"
|
|
Packit Service |
5e62f7 |
exec_cmd "
|
|
Packit Service |
5e62f7 |
pytest \
|
|
Packit Service |
5e62f7 |
$PYTEST_OPTIONS \
|
|
Packit Service |
5e62f7 |
--cov-report=html:htmlcov-integ \
|
|
Packit Service |
5e62f7 |
tests/integration \
|
|
Packit Service |
5e62f7 |
${nmstate_pytest_extra_args}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_INTEG_TIER1 ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "cd $CONTAINER_WORKSPACE"
|
|
Packit Service |
5e62f7 |
exec_cmd "
|
|
Packit Service |
5e62f7 |
pytest \
|
|
Packit Service |
5e62f7 |
$PYTEST_OPTIONS \
|
|
Packit Service |
5e62f7 |
--cov-report=html:htmlcov-integ_tier1 \
|
|
Packit Service |
5e62f7 |
-m tier1 \
|
|
Packit Service |
5e62f7 |
tests/integration \
|
|
Packit Service |
5e62f7 |
${nmstate_pytest_extra_args}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_INTEG_TIER2 ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "cd $CONTAINER_WORKSPACE"
|
|
Packit Service |
5e62f7 |
exec_cmd "
|
|
Packit Service |
5e62f7 |
pytest \
|
|
Packit Service |
5e62f7 |
$PYTEST_OPTIONS \
|
|
Packit Service |
5e62f7 |
--cov-report=html:htmlcov-integ_tier2 \
|
|
Packit Service |
5e62f7 |
-m tier2 \
|
|
Packit Service |
5e62f7 |
tests/integration \
|
|
Packit Service |
5e62f7 |
${nmstate_pytest_extra_args}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ $TEST_TYPE == $TEST_TYPE_ALL ] || \
|
|
Packit Service |
5e62f7 |
[ $TEST_TYPE == $TEST_TYPE_INTEG_SLOW ];then
|
|
Packit Service |
5e62f7 |
exec_cmd "cd $CONTAINER_WORKSPACE"
|
|
Packit Service |
5e62f7 |
exec_cmd "
|
|
Packit Service |
5e62f7 |
pytest \
|
|
Packit Service |
5e62f7 |
$PYTEST_OPTIONS \
|
|
Packit Service |
5e62f7 |
--cov-report=html:htmlcov-integ_slow \
|
|
Packit Service |
5e62f7 |
-m slow --runslow \
|
|
Packit Service |
5e62f7 |
tests/integration \
|
|
Packit Service |
5e62f7 |
${nmstate_pytest_extra_args}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function write_separator {
|
|
Packit Service |
5e62f7 |
set +x
|
|
Packit Service |
5e62f7 |
local text="$(echo "${1}" | sed 's,., \0,g') "
|
|
Packit Service |
5e62f7 |
local char="="
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
local textlength=$(echo -n "${text}" | wc --chars)
|
|
Packit Service |
5e62f7 |
local cols="$(tput cols)"
|
|
Packit Service |
5e62f7 |
local wraplength=$(((cols - textlength) / 2))
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
eval printf %.1s "${char}"'{1..'"${wraplength}"\}
|
|
Packit Service |
5e62f7 |
echo -n "${text}"
|
|
Packit Service |
5e62f7 |
wraplength=$((wraplength + ((cols - textlength) % 2)))
|
|
Packit Service |
5e62f7 |
eval printf %.1s "${char}"'{1..'"${wraplength}"\}
|
|
Packit Service |
5e62f7 |
echo
|
|
Packit Service |
5e62f7 |
set -x
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function run_exit {
|
|
Packit Service |
5e62f7 |
write_separator "TEARDOWN"
|
|
Packit Service |
5e62f7 |
dump_network_info
|
|
Packit Service |
5e62f7 |
if [ -z ${RUN_BAREMETAL} ];then
|
|
Packit Service |
5e62f7 |
collect_artifacts
|
|
Packit Service |
5e62f7 |
remove_container
|
|
Packit Service |
5e62f7 |
remove_tempdir
|
|
Packit Service |
5e62f7 |
else
|
|
Packit Service |
5e62f7 |
teardown_network_environment
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function modprobe_ovs {
|
|
Packit Service |
5e62f7 |
lsmod | grep -q ^openvswitch || modprobe openvswitch || { echo 1>&2 "Please run 'modprobe openvswitch' as root"; exit 1; }
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function check_services {
|
|
Packit Service |
5e62f7 |
exec_cmd 'while ! systemctl is-active dbus; do sleep 1; done'
|
|
Packit Service |
5e62f7 |
exec_cmd 'systemctl start systemd-udevd
|
|
Packit Service |
5e62f7 |
while ! systemctl is-active systemd-udevd; do sleep 1; done
|
|
Packit Service |
5e62f7 |
'
|
|
Packit Service |
5e62f7 |
exec_cmd '
|
|
Packit Service |
5e62f7 |
systemctl restart NetworkManager
|
|
Packit Service |
5e62f7 |
while ! systemctl is-active NetworkManager; do sleep 1; done
|
|
Packit Service |
5e62f7 |
'
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function upload_coverage {
|
|
Packit Service |
5e62f7 |
if [[ "$CI" == "true" ]] ;then
|
|
Packit Service |
5e62f7 |
container_exec "
|
|
Packit Service |
5e62f7 |
cd $CONTAINER_WORKSPACE &&
|
|
Packit Service |
5e62f7 |
COVERALLS_PARALLEL=true COVERALLS_SERVICE_NAME=travis-ci coveralls
|
|
Packit Service |
5e62f7 |
" || true
|
|
Packit Service |
5e62f7 |
container_exec "
|
|
Packit Service |
5e62f7 |
cd $CONTAINER_WORKSPACE &&
|
|
Packit Service |
5e62f7 |
bash <(curl -s https://codecov.io/bash)
|
|
Packit Service |
5e62f7 |
" || true
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function check_iface_exist {
|
|
Packit Service |
5e62f7 |
exec_cmd "ip link | grep -q $1"
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function prepare_network_environment {
|
|
Packit Service |
5e62f7 |
set +e
|
|
Packit Service |
5e62f7 |
exec_cmd "ip netns add ${VETH_PEER_NS}"
|
|
Packit Service |
5e62f7 |
for device in $INTERFACES;
|
|
Packit Service |
5e62f7 |
do
|
|
Packit Service |
5e62f7 |
peer="${device}peer"
|
|
Packit Service |
5e62f7 |
check_iface_exist $device
|
|
Packit Service |
5e62f7 |
if [ $? -eq 1 ]; then
|
|
Packit Service |
5e62f7 |
CREATED_INTERFACES="${CREATED_INTERFACES} ${device}"
|
|
Packit Service |
5e62f7 |
exec_cmd "ip link add ${device} type veth peer name ${peer}"
|
|
Packit Service |
5e62f7 |
exec_cmd "ip link set ${peer} netns ${VETH_PEER_NS}"
|
|
Packit Service |
5e62f7 |
exec_cmd "ip netns exec ${VETH_PEER_NS} ip link set ${peer} up"
|
|
Packit Service |
5e62f7 |
exec_cmd "ip link set ${device} up"
|
|
Packit Service |
5e62f7 |
exec_cmd "nmcli device set ${device} managed yes"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
done
|
|
Packit Service |
5e62f7 |
set -e
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function teardown_network_environment {
|
|
Packit Service |
5e62f7 |
for device in $CREATED_INTERFACES;
|
|
Packit Service |
5e62f7 |
do
|
|
Packit Service |
5e62f7 |
exec_cmd "ip link del ${device}"
|
|
Packit Service |
5e62f7 |
done
|
|
Packit Service |
5e62f7 |
exec_cmd "ip netns del ${VETH_PEER_NS}"
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function clean_dnf_cache {
|
|
Packit Service |
5e62f7 |
# Workaround for dnf failure:
|
|
Packit Service |
5e62f7 |
# [Errno 2] No such file or directory: '/var/cache/dnf/metadata_lock.pid'
|
|
Packit Service |
5e62f7 |
if [[ "$CI" == "true" ]];then
|
|
Packit Service |
5e62f7 |
exec_cmd "rm -fv /var/cache/dnf/metadata_lock.pid"
|
|
Packit Service |
5e62f7 |
exec_cmd "dnf clean all"
|
|
Packit Service |
5e62f7 |
exec_cmd "dnf makecache || :"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function upgrade_nm_from_copr {
|
|
Packit Service |
5e62f7 |
local copr_repo=$1
|
|
Packit Service |
5e62f7 |
# The repoid for a Copr repo is the name with the slash replaces by a colon
|
|
Packit Service |
5e62f7 |
local copr_repo_id="copr:copr.fedorainfracloud.org:${copr_repo/\//:}"
|
|
Packit Service |
5e62f7 |
clean_dnf_cache
|
|
Packit Service |
5e62f7 |
exec_cmd "command -v dnf && plugin='dnf-command(copr)' || plugin='yum-plugin-copr'; yum install --assumeyes \$plugin;"
|
|
Packit Service |
5e62f7 |
exec_cmd "yum copr enable --assumeyes ${copr_repo}"
|
|
Packit Service |
5e62f7 |
# Update only from Copr to limit the changes in the environment
|
|
Packit Service |
5e62f7 |
exec_cmd "yum update --assumeyes --disablerepo '*' --enablerepo '${copr_repo_id}'"
|
|
Packit Service |
5e62f7 |
exec_cmd "systemctl restart NetworkManager"
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
function run_customize_command {
|
|
Packit Service |
5e62f7 |
if [[ -n "$customize_cmd" ]];then
|
|
Packit Service |
5e62f7 |
clean_dnf_cache
|
|
Packit Service |
5e62f7 |
exec_cmd "${customize_cmd}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
options=$(getopt --options "" \
|
|
Packit Service |
5e62f7 |
--long customize:,pytest-args:,help,debug-shell,test-type:,el8,copr:,artifacts-dir:,test-vdsm,machine,use-installed-nmstate\
|
|
Packit Service |
5e62f7 |
-- "${@}")
|
|
Packit Service |
5e62f7 |
eval set -- "$options"
|
|
Packit Service |
5e62f7 |
while true; do
|
|
Packit Service |
5e62f7 |
case "$1" in
|
|
Packit Service |
5e62f7 |
--pytest-args)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
nmstate_pytest_extra_args="$1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--copr)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
copr_repo="$1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--customize)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
customize_cmd="$1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--debug-shell)
|
|
Packit Service |
5e62f7 |
debug_exit_shell="1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--test-type)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
TEST_TYPE="$1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--el8)
|
|
Packit Service |
5e62f7 |
CONTAINER_IMAGE=$CENTOS_IMAGE_DEV
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--centos-stream)
|
|
Packit Service |
5e62f7 |
CONTAINER_IMAGE=$CENTOS_STREAM_IMAGE_DEV
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--artifacts-dir)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
EXPORT_DIR="$1"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--test-vdsm)
|
|
Packit Service |
5e62f7 |
vdsm_tests
|
|
Packit Service |
5e62f7 |
exit
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--machine)
|
|
Packit Service |
5e62f7 |
RUN_BAREMETAL="true"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--use-installed-nmstate)
|
|
Packit Service |
5e62f7 |
INSTALL_NMSTATE="false"
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--help)
|
|
Packit Service |
5e62f7 |
set +x
|
|
Packit Service |
5e62f7 |
echo -n "$0 [--copr=...] [--customize=...] [--debug-shell] [--el8] "
|
|
Packit Service |
5e62f7 |
echo -n "[--help] [--pytest-args=...] [--machine] "
|
|
Packit Service |
5e62f7 |
echo "[--use-installed-nmstate] [--test-type=<TEST_TYPE>] [--test-vdsm]"
|
|
Packit Service |
5e62f7 |
echo " Valid TEST_TYPE are:"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_ALL (default)"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_FORMAT"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_LINT"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_INTEG"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_INTEG_TIER1"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_INTEG_TIER2"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_INTEG_SLOW"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_UNIT_PY36"
|
|
Packit Service |
5e62f7 |
echo " * $TEST_TYPE_UNIT_PY38"
|
|
Packit Service |
5e62f7 |
echo -n "--customize allows to specify a command to customize the "
|
|
Packit Service |
5e62f7 |
echo "container before running the tests"
|
|
Packit Service |
5e62f7 |
exit
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
--)
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
break
|
|
Packit Service |
5e62f7 |
;;
|
|
Packit Service |
5e62f7 |
esac
|
|
Packit Service |
5e62f7 |
shift
|
|
Packit Service |
5e62f7 |
done
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
: ${TEST_TYPE:=$TEST_TYPE_ALL}
|
|
Packit Service |
5e62f7 |
: ${CONTAINER_IMAGE:=$FEDORA_IMAGE_DEV}
|
|
Packit Service |
5e62f7 |
: ${INSTALL_NMSTATE:="true"}
|
|
Packit Service |
5e62f7 |
: ${INSTALL_DEPS:="false"}
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
modprobe_ovs
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ -n "${RUN_BAREMETAL}" ];then
|
|
Packit Service |
5e62f7 |
CONTAINER_WORKSPACE="."
|
|
Packit Service |
5e62f7 |
run_customize_command
|
|
Packit Service |
5e62f7 |
start_machine_services
|
|
Packit Service |
5e62f7 |
else
|
|
Packit Service |
5e62f7 |
container_pre_test_setup
|
|
Packit Service |
5e62f7 |
run_customize_command
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [[ -v copr_repo ]];then
|
|
Packit Service |
5e62f7 |
upgrade_nm_from_copr "${copr_repo}"
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
check_services
|
|
Packit Service |
5e62f7 |
prepare_network_environment
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
if [ -n "$RUN_BAREMETAL" ];then
|
|
Packit Service |
5e62f7 |
trap run_exit ERR EXIT
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
exec_cmd '(source /etc/os-release; echo $PRETTY_NAME); rpm -q NetworkManager'
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
dump_network_info
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
pyclean
|
|
Packit Service |
5e62f7 |
if [ -z ${RUN_BAREMETAL} ];then
|
|
Packit Service |
5e62f7 |
copy_workspace_container
|
|
Packit Service |
5e62f7 |
fi
|
|
Packit Service |
5e62f7 |
|
|
Packit Service |
5e62f7 |
install_nmstate
|
|
Packit Service |
5e62f7 |
run_tests
|
|
Packit Service |
5e62f7 |
upload_coverage
|