mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-06 09:55:46 +00:00
ci: Break off the integration_tests template into more templates
There's quite a lot happening in the .integration_tests template already even without adding upstream QEMU build into the mix. Let's break the template into more pieces which can then reference in the .integration_tests template when putting all the pieces back together using YAML anchors. Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
387932771a
commit
72887b8f59
@ -1,44 +1,62 @@
|
|||||||
|
|
||||||
|
|
||||||
|
.install-deps: &install-deps
|
||||||
|
- sudo dnf install -y libvirt-rpms/* libvirt-perl-rpms/*
|
||||||
|
- sudo pip3 install --prefix=/usr avocado-framework
|
||||||
|
|
||||||
|
|
||||||
|
.enable-core-dumps: &enable-core-dumps
|
||||||
|
- sudo sh -c "echo DefaultLimitCORE=infinity >> /etc/systemd/system.conf" # Explicitly allow storing cores globally
|
||||||
|
- sudo systemctl daemon-reexec # need to reexec systemd after changing config
|
||||||
|
|
||||||
|
|
||||||
|
.enable-libvirt-debugging: &enable-libvirt-debugging
|
||||||
|
- source /etc/os-release # in order to query the vendor-provided variables
|
||||||
|
- if test "$ID" = "centos" && test "$VERSION_ID" -lt 9 ||
|
||||||
|
test "$ID" = "fedora" && test "$VERSION_ID" -lt 35;
|
||||||
|
then
|
||||||
|
DAEMONS="libvirtd virtlogd virtlockd";
|
||||||
|
else
|
||||||
|
DAEMONS="virtproxyd virtqemud virtinterfaced virtsecretd virtstoraged virtnwfilterd virtnodedevd virtlogd virtlockd";
|
||||||
|
fi
|
||||||
|
- for daemon in $DAEMONS;
|
||||||
|
do
|
||||||
|
LOG_OUTPUTS="1:file:/var/log/libvirt/${daemon}.log";
|
||||||
|
LOG_FILTERS="3:remote 4:event 3:util.json 3:util.object 3:util.dbus 3:util.netlink 3:node_device 3:rpc 3:access 1:*";
|
||||||
|
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_filters "$LOG_FILTERS" &>/dev/null;
|
||||||
|
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_outputs "$LOG_OUTPUTS" &>/dev/null;
|
||||||
|
sudo systemctl --quiet stop ${daemon}.service;
|
||||||
|
sudo systemctl restart ${daemon}.socket;
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
.collect-logs: &collect-logs
|
||||||
|
- mkdir logs
|
||||||
|
- test -e "$SCRATCH_DIR"/avocado && sudo mv "$SCRATCH_DIR"/avocado/latest/test-results logs/avocado;
|
||||||
|
- sudo coredumpctl info --no-pager > logs/coredumpctl.txt
|
||||||
|
- sudo mv /var/log/libvirt logs/libvirt
|
||||||
|
- sudo chown -R $(whoami):$(whoami) logs
|
||||||
|
# rename all Avocado stderr/stdout logs to *.log so that GitLab's web UI doesn't mangle the MIME type
|
||||||
|
- find logs/avocado/ -type f ! -name "*.log" -exec
|
||||||
|
sh -c 'DIR=$(dirname {}); NAME=$(basename {}); mv $DIR/$NAME{,.log}' \;
|
||||||
|
|
||||||
|
|
||||||
.integration_tests:
|
.integration_tests:
|
||||||
stage: integration_tests
|
stage: integration_tests
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir "$SCRATCH_DIR"
|
- mkdir "$SCRATCH_DIR"
|
||||||
- sudo sh -c "echo DefaultLimitCORE=infinity >> /etc/systemd/system.conf" # Explicitly allow storing cores globally
|
- *install-deps
|
||||||
- sudo systemctl daemon-reexec # need to reexec systemd after changing config
|
- *enable-core-dumps
|
||||||
- sudo dnf install -y libvirt-rpms/* libvirt-perl-rpms/*
|
- *enable-libvirt-debugging
|
||||||
- sudo pip3 install --prefix=/usr avocado-framework
|
|
||||||
- source /etc/os-release # in order to query the vendor-provided variables
|
|
||||||
- if test "$ID" = "centos" && test "$VERSION_ID" -lt 9 ||
|
|
||||||
test "$ID" = "fedora" && test "$VERSION_ID" -lt 35;
|
|
||||||
then
|
|
||||||
DAEMONS="libvirtd virtlogd virtlockd";
|
|
||||||
else
|
|
||||||
DAEMONS="virtproxyd virtqemud virtinterfaced virtsecretd virtstoraged virtnwfilterd virtnodedevd virtlogd virtlockd";
|
|
||||||
fi
|
|
||||||
- for daemon in $DAEMONS;
|
|
||||||
do
|
|
||||||
LOG_OUTPUTS="1:file:/var/log/libvirt/${daemon}.log";
|
|
||||||
LOG_FILTERS="3:remote 4:event 3:util.json 3:util.object 3:util.dbus 3:util.netlink 3:node_device 3:rpc 3:access 1:*";
|
|
||||||
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_filters "$LOG_FILTERS" &>/dev/null;
|
|
||||||
sudo augtool set /files/etc/libvirt/${daemon}.conf/log_outputs "$LOG_OUTPUTS" &>/dev/null;
|
|
||||||
sudo systemctl --quiet stop ${daemon}.service;
|
|
||||||
sudo systemctl restart ${daemon}.socket;
|
|
||||||
done
|
|
||||||
- sudo virsh net-start default &>/dev/null || true;
|
- sudo virsh net-start default &>/dev/null || true;
|
||||||
script:
|
script:
|
||||||
- mkdir logs
|
|
||||||
- cd "$SCRATCH_DIR"
|
- cd "$SCRATCH_DIR"
|
||||||
- git clone --depth 1 https://gitlab.com/libvirt/libvirt-tck.git
|
- git clone --depth 1 https://gitlab.com/libvirt/libvirt-tck.git
|
||||||
- cd libvirt-tck
|
- cd libvirt-tck
|
||||||
- sudo avocado --config avocado.config run --job-results-dir "$SCRATCH_DIR"/avocado
|
- sudo avocado --config avocado.config run --job-results-dir "$SCRATCH_DIR"/avocado
|
||||||
after_script:
|
after_script:
|
||||||
- test "$CI_JOB_STATUS" = "success" && exit 0;
|
- test "$CI_JOB_STATUS" = "success" && exit 0;
|
||||||
- test -e "$SCRATCH_DIR"/avocado && sudo mv "$SCRATCH_DIR"/avocado/latest/test-results logs/avocado;
|
- *collect-logs
|
||||||
- sudo coredumpctl info --no-pager > logs/coredumpctl.txt
|
|
||||||
- sudo mv /var/log/libvirt logs/libvirt
|
|
||||||
- sudo chown -R $(whoami):$(whoami) logs
|
|
||||||
# rename all Avocado stderr/stdout logs to *.log so that GitLab's web UI doesn't mangle the MIME type
|
|
||||||
- find logs/avocado/ -type f ! -name "*.log" -exec
|
|
||||||
sh -c 'DIR=$(dirname {}); NAME=$(basename {}); mv $DIR/$NAME{,.log}' \;
|
|
||||||
variables:
|
variables:
|
||||||
SCRATCH_DIR: "/tmp/scratch"
|
SCRATCH_DIR: "/tmp/scratch"
|
||||||
artifacts:
|
artifacts:
|
||||||
|
Loading…
Reference in New Issue
Block a user