diff --git a/test/bin/common_versions.sh b/test/bin/common_versions.sh index c70efdb7e2..7605190c8a 100644 --- a/test/bin/common_versions.sh +++ b/test/bin/common_versions.sh @@ -143,3 +143,6 @@ export BREW_NIGHTLY_RELEASE_VERSION # Set the release type to ec, rc or zstream LATEST_RELEASE_TYPE="ec" export LATEST_RELEASE_TYPE + +BREW_LREL_RELEASE_VERSION="${BREW_EC_RELEASE_VERSION}" +export BREW_LREL_RELEASE_VERSION diff --git a/test/bin/scenario.sh b/test/bin/scenario.sh index 7ad5b99782..792489f1e0 100755 --- a/test/bin/scenario.sh +++ b/test/bin/scenario.sh @@ -31,6 +31,7 @@ SKIP_GREENBOOT=${SKIP_GREENBOOT:-false} # may be overridden in scenario file IMAGE_SIGSTORE_ENABLED=false # may be overridden in scenario file VNC_CONSOLE=${VNC_CONSOLE:-false} # may be overridden in global settings file TEST_RANDOMIZATION="all" # may be overridden in scenario file +TEST_EXCLUDES="none" # may be overridden in scenario file TEST_EXECUTION_TIMEOUT="30m" # may be overriden in scenario file SUBSCRIPTION_MANAGER_PLUGIN="${SUBSCRIPTION_MANAGER_PLUGIN:-${SCRIPTDIR}/subscription_manager_register.sh}" # may be overridden in global settings file RUN_HOST_OVERRIDE="" # target any given VM for running scenarios @@ -1053,6 +1054,7 @@ EOF if ! ${timeout_robot} \ --name "${SCENARIO}" \ --randomize "${TEST_RANDOMIZATION}" \ + --exclude "${TEST_EXCLUDES}" \ --loglevel TRACE \ --listener "${TESTDIR}/resources/sos-on-failure-listener.py" \ --pythonpath "${TESTDIR}/resources" \ diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel94-bootc-brew-y2-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel94-bootc-brew-y2-with-optional.containerfile index d11e489630..74f2bf006e 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel94-bootc-brew-y2-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel94-bootc-brew-y2-with-optional.containerfile @@ -38,6 +38,7 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp # {{- end -}} diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-ec-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-ec-with-optional.containerfile index 3819d06f3a..0fb9c6fe3d 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-ec-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-ec-with-optional.containerfile @@ -43,6 +43,24 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp + +# Prepare system for testing Generic Device Plugin. +# Upgrade the kernel to keep the same procedure with RHEL and CentOS. +# CentOS requires upgrade because of a different package retention policy +# which means that the kernel in the base bootc image might no longer +# be available in the repositories. +# hadolint ignore=DL3003 +RUN dnf upgrade kernel -y && \ + KERNEL_VER=$(rpm -q --qf "%{VERSION}-%{RELEASE}" kernel); \ + KERNEL_VER_ARCH="${KERNEL_VER}.$(uname -m)"; \ + dnf install -y git make "kernel-devel-${KERNEL_VER}" python3-pyserial && \ + dnf clean all && \ + git clone https://github.com/pmtk/serialsim.git /tmp/serialsim && \ + cd /tmp/serialsim && \ + make KERNEL="${KERNEL_VER_ARCH}" all install && \ + rm -rf /tmp/serialsim + # {{- end -}} diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-nightly-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-nightly-with-optional.containerfile index ebce25c0fd..f4204bd355 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-nightly-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-nightly-with-optional.containerfile @@ -43,6 +43,24 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp + +# Prepare system for testing Generic Device Plugin. +# Upgrade the kernel to keep the same procedure with RHEL and CentOS. +# CentOS requires upgrade because of a different package retention policy +# which means that the kernel in the base bootc image might no longer +# be available in the repositories. +# hadolint ignore=DL3003 +RUN dnf upgrade kernel -y && \ + KERNEL_VER=$(rpm -q --qf "%{VERSION}-%{RELEASE}" kernel); \ + KERNEL_VER_ARCH="${KERNEL_VER}.$(uname -m)"; \ + dnf install -y git make "kernel-devel-${KERNEL_VER}" python3-pyserial && \ + dnf clean all && \ + git clone https://github.com/pmtk/serialsim.git /tmp/serialsim && \ + cd /tmp/serialsim && \ + make KERNEL="${KERNEL_VER_ARCH}" all install && \ + rm -rf /tmp/serialsim + # {{- end -}} diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-rc-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-rc-with-optional.containerfile index fe1518d2c2..6e52ba83d4 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-rc-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-rc-with-optional.containerfile @@ -43,6 +43,23 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp + +# Prepare system for testing Generic Device Plugin. +# Upgrade the kernel to keep the same procedure with RHEL and CentOS. +# CentOS requires upgrade because of a different package retention policy +# which means that the kernel in the base bootc image might no longer +# be available in the repositories. +# hadolint ignore=DL3003 +RUN dnf upgrade kernel -y && \ + KERNEL_VER=$(rpm -q --qf "%{VERSION}-%{RELEASE}" kernel); \ + KERNEL_VER_ARCH="${KERNEL_VER}.$(uname -m)"; \ + dnf install -y git make "kernel-devel-${KERNEL_VER}" python3-pyserial && \ + dnf clean all && \ + git clone https://github.com/pmtk/serialsim.git /tmp/serialsim && \ + cd /tmp/serialsim && \ + make KERNEL="${KERNEL_VER_ARCH}" all install && \ + rm -rf /tmp/serialsim # {{- end -}} diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-y1-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-y1-with-optional.containerfile index edb1e43b9a..6461a928e8 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-y1-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-y1-with-optional.containerfile @@ -43,6 +43,7 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp # {{- end -}} diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-zstream-with-optional.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-zstream-with-optional.containerfile index 0eee5fa4b8..d551cb9f21 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-zstream-with-optional.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-brew-zstream-with-optional.containerfile @@ -43,6 +43,24 @@ RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ firewall-offline-cmd --zone=public --add-port=443/tcp && \ firewall-offline-cmd --zone=public --add-port=5353/udp && \ firewall-offline-cmd --zone=public --add-port=6443/tcp && \ + firewall-offline-cmd --zone=public --add-port=8889/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/tcp && \ firewall-offline-cmd --zone=public --add-port=30000-32767/udp + +# Prepare system for testing Generic Device Plugin. +# Upgrade the kernel to keep the same procedure with RHEL and CentOS. +# CentOS requires upgrade because of a different package retention policy +# which means that the kernel in the base bootc image might no longer +# be available in the repositories. +# hadolint ignore=DL3003 +RUN dnf upgrade kernel -y && \ +KERNEL_VER=$(rpm -q --qf "%{VERSION}-%{RELEASE}" kernel); \ +KERNEL_VER_ARCH="${KERNEL_VER}.$(uname -m)"; \ +dnf install -y git make "kernel-devel-${KERNEL_VER}" python3-pyserial && \ +dnf clean all && \ +git clone https://github.com/pmtk/serialsim.git /tmp/serialsim && \ +cd /tmp/serialsim && \ +make KERNEL="${KERNEL_VER_ARCH}" all install && \ +rm -rf /tmp/serialsim + # {{- end -}} diff --git a/test/image-blueprints/layer1-base/group2/rhel94-brew-y2-with-optionals.toml b/test/image-blueprints/layer1-base/group2/rhel94-brew-y2-with-optionals.toml index 072472bb6d..e041e88c14 100644 --- a/test/image-blueprints/layer1-base/group2/rhel94-brew-y2-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group2/rhel94-brew-y2-with-optionals.toml @@ -42,6 +42,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer1-base/group3/rhel96-brew-y1-with-optionals.toml b/test/image-blueprints/layer1-base/group3/rhel96-brew-y1-with-optionals.toml index 25a2851c29..1da4ec8752 100644 --- a/test/image-blueprints/layer1-base/group3/rhel96-brew-y1-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group3/rhel96-brew-y1-with-optionals.toml @@ -53,6 +53,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer1-base/group4/rhel96-brew-ec-with-optionals.toml b/test/image-blueprints/layer1-base/group4/rhel96-brew-ec-with-optionals.toml index 5f08416eb8..64f742feed 100644 --- a/test/image-blueprints/layer1-base/group4/rhel96-brew-ec-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group4/rhel96-brew-ec-with-optionals.toml @@ -43,6 +43,10 @@ version = "{{ env.Getenv "BREW_EC_RELEASE_VERSION" }}" name = "microshift-test-agent" version = "*" +[[packages]] +name = "systemd-resolved" +version = "*" + [customizations.services] enabled = ["microshift", "microshift-test-agent"] @@ -53,6 +57,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer1-base/group4/rhel96-brew-nightly-with-optionals.toml b/test/image-blueprints/layer1-base/group4/rhel96-brew-nightly-with-optionals.toml index 15369ebb33..7496a41daa 100644 --- a/test/image-blueprints/layer1-base/group4/rhel96-brew-nightly-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group4/rhel96-brew-nightly-with-optionals.toml @@ -43,6 +43,10 @@ version = "{{ env.Getenv "BREW_NIGHTLY_RELEASE_VERSION" }}" name = "microshift-test-agent" version = "*" +[[packages]] +name = "systemd-resolved" +version = "*" + [customizations.services] enabled = ["microshift", "microshift-test-agent"] @@ -53,6 +57,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer1-base/group4/rhel96-brew-rc-with-optionals.toml b/test/image-blueprints/layer1-base/group4/rhel96-brew-rc-with-optionals.toml index 2160a33f50..932b3c5a1c 100644 --- a/test/image-blueprints/layer1-base/group4/rhel96-brew-rc-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group4/rhel96-brew-rc-with-optionals.toml @@ -43,6 +43,10 @@ version = "{{ env.Getenv "BREW_RC_RELEASE_VERSION" }}" name = "microshift-test-agent" version = "*" +[[packages]] +name = "systemd-resolved" +version = "*" + [customizations.services] enabled = ["microshift", "microshift-test-agent"] @@ -53,6 +57,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer1-base/group4/rhel96-brew-zstream-with-optionals.toml b/test/image-blueprints/layer1-base/group4/rhel96-brew-zstream-with-optionals.toml index 5b60a6eb22..603f538a72 100644 --- a/test/image-blueprints/layer1-base/group4/rhel96-brew-zstream-with-optionals.toml +++ b/test/image-blueprints/layer1-base/group4/rhel96-brew-zstream-with-optionals.toml @@ -43,6 +43,10 @@ version = "{{ env.Getenv "BREW_Y0_RELEASE_VERSION" }}" name = "microshift-test-agent" version = "*" +[[packages]] +name = "systemd-resolved" +version = "*" + [customizations.services] enabled = ["microshift", "microshift-test-agent"] @@ -53,6 +57,7 @@ ports = [ "443:tcp", "5353:udp", "6443:tcp", + "8889:tcp", "30000-32767:tcp", "30000-32767:udp", ] diff --git a/test/image-blueprints/layer2-presubmit/group1/rhel96-lrel-optionals-tuned.toml b/test/image-blueprints/layer2-presubmit/group1/rhel96-lrel-optionals-tuned.toml new file mode 100644 index 0000000000..9cba09bc4b --- /dev/null +++ b/test/image-blueprints/layer2-presubmit/group1/rhel96-lrel-optionals-tuned.toml @@ -0,0 +1,125 @@ +{{- if env.Getenv "BREW_LREL_RELEASE_VERSION" "" -}} +{{- /* + + We wrap this template in a test so that the body of the output is + empty when there is no "current" version release. The output file + must end up completely empty, so we need to remove whitespace from + around the first and last template instructions. + +*/ -}} + +name = "rhel-9.6-microshift-brew-tuned-4.{{ .Env.MINOR_VERSION}}-{{ .Env.LATEST_RELEASE_TYPE}}" +description = "A RHEL 9.6 image with already built and released RPMs like EC, RC, or Z-stream release: {{ .Env.BREW_LREL_RELEASE_VERSION }}" +version = "0.0.1" +modules = [] +groups = [] +distro = "rhel-96" + +# Parent specification directive recognized by test/bin/build_images.sh to be +# used with the '--parent' argument of 'osbuild-composer' +# parent = "rhel-9.6-microshift-brew-optionals-4.{{ .Env.PREVIOUS_MINOR_VERSION }}-zstream" + +{{ range (env.Getenv "MICROSHIFT_MANDATORY_RPMS" | strings.Split " ") }} +[[packages]] +name = "{{ . }}" +version = "{{ env.Getenv "BREW_LREL_RELEASE_VERSION" }}" +{{ end }} + +{{ range (env.Getenv "MICROSHIFT_OPTIONAL_RPMS" | strings.Split " ") }} +[[packages]] +name = "{{ . }}" +version = "{{ env.Getenv "BREW_LREL_RELEASE_VERSION" }}" +{{ end }} + +{{- if and (env.Getenv "UNAME_M" "") (eq "x86_64" .Env.UNAME_M) }} +{{ range (env.Getenv "MICROSHIFT_X86_64_RPMS" | strings.Split " ") }} +[[packages]] +name = "{{ . }}" +version = "{{ env.Getenv "BREW_LREL_RELEASE_VERSION" }}" +{{ end }} +{{- end }} + +[[packages]] +name = "microshift-test-agent" +version = "*" + +[[packages]] +name = "systemd-resolved" +version = "*" + +{{- if and (env.Getenv "UNAME_M" "") (eq "x86_64" .Env.UNAME_M) }} +# Kernel RT is only available for x86_64 +[customizations.kernel] +name = "kernel-rt" +{{- end }} + +[customizations.services] +enabled = ["microshift-test-agent", "microshift", "microshift-tuned"] + +[customizations.firewall] +ports = [ + "22:tcp", + "80:tcp", + "443:tcp", + "5353:udp", + "6443:tcp", + "8889:tcp", + "30000-32767:tcp", + "30000-32767:udp", +] + +[customizations.firewall.services] +enabled = ["mdns", "ssh", "http", "https"] + +[[customizations.firewall.zones]] +name = "trusted" +sources = ["10.42.0.0/16", "169.254.169.1", "fd01::/48"] + +[[customizations.files]] +path = "/etc/microshift/config.yaml" +data = """ +kubelet: + cpuManagerPolicy: static + cpuManagerPolicyOptions: + full-pcpus-only: "true" + cpuManagerReconcilePeriod: 5s + memoryManagerPolicy: Static + topologyManagerPolicy: single-numa-node + reservedSystemCPUs: 0-1 + reservedMemory: + - limits: + memory: 1100Mi + numaNode: 0 + kubeReserved: + memory: 500Mi + systemReserved: + memory: 500Mi + evictionHard: + imagefs.available: 15% + memory.available: 100Mi + nodefs.available: 10% + nodefs.inodesFree: 5% + evictionPressureTransitionPeriod: 0s +""" + +[[customizations.files]] +path = "/etc/tuned/microshift-baseline-variables.conf" +data = """ +# Isolated cores should be complementary to kubelet's reserved CPUs. +# Isolated and reserved CPUs should contain all online CPUs. +# Core #3 is for testing offlining hence skipped. +isolated_cores=2,4-5 +hugepages_size=2M +hugepages=10 +additional_args=test1=on test2=true dummy +offline_cpu_set=3 +""" + +[[customizations.files]] +path = "/etc/microshift/tuned.yaml" +data = """ +profile: microshift-baseline +reboot_after_apply: True +""" + +{{- end -}} diff --git a/test/scenarios-bootc/releases/el96-lrel@optional.sh b/test/scenarios-bootc/releases/el96-lrel@optional.sh new file mode 100644 index 0000000000..6bc601136a --- /dev/null +++ b/test/scenarios-bootc/releases/el96-lrel@optional.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# Redefine network-related settings to use the dedicated network bridge +VM_BRIDGE_IP="$(get_vm_bridge_ip "${VM_MULTUS_NETWORK}")" +# shellcheck disable=SC2034 # used elsewhere +WEB_SERVER_URL="http://${VM_BRIDGE_IP}:${WEB_SERVER_PORT}" + +scenario_create_vms() { + prepare_kickstart host1 kickstart-bootc.ks.template "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional" + # Two nics - one for macvlan, another for ipvlan (they cannot enslave the same interface) + launch_vm --boot_blueprint rhel96-bootc --network "${VM_MULTUS_NETWORK},${VM_MULTUS_NETWORK}" +} + +scenario_remove_vms() { + remove_vm host1 +} + +scenario_run_tests() { + run_tests host1 \ + --variable "PROMETHEUS_HOST:$(hostname)" \ + --variable "PROMETHEUS_PORT:9092" \ + --variable "LOKI_HOST:$(hostname)" \ + --variable "LOKI_PORT:3200" \ + --variable "PROM_EXPORTER_PORT:8889" \ + suites/optional/ +} diff --git a/test/scenarios-bootc/releases/el96-lrel@osconfig.sh b/test/scenarios-bootc/releases/el96-lrel@osconfig.sh new file mode 100644 index 0000000000..2faa3e542b --- /dev/null +++ b/test/scenarios-bootc/releases/el96-lrel@osconfig.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +scenario_create_vms() { + prepare_kickstart host1 kickstart-bootc.ks.template "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional" + launch_vm --boot_blueprint rhel96-bootc +} + +scenario_remove_vms() { + remove_vm host1 +} + +scenario_run_tests() { + run_tests host1 \ + suites/osconfig/clusterid.robot \ + suites/osconfig/systemd-resolved.robot +} diff --git a/test/scenarios-bootc/releases/el96-lrel@router.sh b/test/scenarios-bootc/releases/el96-lrel@router.sh index 2199b53167..c7238c7e43 100644 --- a/test/scenarios-bootc/releases/el96-lrel@router.sh +++ b/test/scenarios-bootc/releases/el96-lrel@router.sh @@ -1,5 +1,7 @@ #!/bin/bash +export TEST_EXCLUDES="ushift-6085" + # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { diff --git a/test/scenarios/presubmits/el96-src@low-latency.sh b/test/scenarios/presubmits/el96-src@low-latency.sh index 7b1a1a202a..0e23cf79ab 100644 --- a/test/scenarios/presubmits/el96-src@low-latency.sh +++ b/test/scenarios/presubmits/el96-src@low-latency.sh @@ -15,7 +15,7 @@ scenario_remove_vms() { } scenario_run_tests() { - # Should not be ran immediately after creating VM because of + # Should not be run immediately after creating VM because of # microshift-tuned rebooting the node to activate the profile. local -r start_time=$(date +%s) while true; do diff --git a/test/scenarios/releases/el96-lrel@low-latency.sh b/test/scenarios/releases/el96-lrel@low-latency.sh new file mode 100644 index 0000000000..0f3a5b8e7e --- /dev/null +++ b/test/scenarios/releases/el96-lrel@low-latency.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +export SKIP_GREENBOOT=true +export TEST_RANDOMIZATION=none + +# Sourced from scenario.sh and uses functions defined there. + +scenario_create_vms() { + prepare_kickstart host1 kickstart.ks.template "rhel-9.6-microshift-brew-tuned-4.${MINOR_VERSION}-${LATEST_RELEASE_TYPE}" + launch_vm --vm_vcpus 6 +} + +scenario_remove_vms() { + remove_vm host1 +} + +scenario_run_tests() { + # Should not be run immediately after creating VM because of + # microshift-tuned rebooting the node to activate the profile. + local -r start_time=$(date +%s) + while true; do + boot_num=$(run_command_on_vm host1 "sudo journalctl --list-boots --quiet | wc -l" || true) + boot_num="${boot_num%$'\r'*}" + if [[ "${boot_num}" -ge 2 ]]; then + break + fi + if [ $(( $(date +%s) - start_time )) -gt 60 ]; then + echo "Timed out waiting for VM having 2 boots" + exit 1 + fi + sleep 5 + done + + # --exitonfailure because tests within suites are meant to be ordered, + # so don't advance to next test if current failed. + + run_tests host1 \ + --exitonfailure \ + suites/tuned/profile.robot \ + suites/tuned/microshift-tuned.robot \ + suites/tuned/workload-partitioning.robot +} diff --git a/test/scenarios/releases/el96-lrel@optional.sh b/test/scenarios/releases/el96-lrel@optional.sh new file mode 100644 index 0000000000..1eef1773d6 --- /dev/null +++ b/test/scenarios/releases/el96-lrel@optional.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# Redefine network-related settings to use the dedicated network bridge +VM_BRIDGE_IP="$(get_vm_bridge_ip "${VM_MULTUS_NETWORK}")" +# shellcheck disable=SC2034 # used elsewhere +WEB_SERVER_URL="http://${VM_BRIDGE_IP}:${WEB_SERVER_PORT}" + +scenario_create_vms() { + prepare_kickstart host1 kickstart.ks.template "rhel-9.6-microshift-brew-optionals-4.${MINOR_VERSION}-${LATEST_RELEASE_TYPE}" + # Two nics - one for macvlan, another for ipvlan (they cannot enslave the same interface) + launch_vm --network "${VM_MULTUS_NETWORK},${VM_MULTUS_NETWORK}" +} + +scenario_remove_vms() { + remove_vm host1 +} + +scenario_run_tests() { + # Generic Device Plugin suite is excluded because getting serialsim for ostree would require: + # - getting the version of the kernel of ostree image, + # - installing kernel-devel of that version on the hypervisor, + # - building serialsim + # - packaging serialsim as an RPM + # - including the RPM in the ostree blueprint + # GDP suite is tested with bootc images instead. + run_tests host1 \ + --variable "PROMETHEUS_HOST:$(hostname)" \ + --variable "PROMETHEUS_PORT:9092" \ + --variable "LOKI_HOST:$(hostname)" \ + --variable "LOKI_PORT:3200" \ + --variable "PROM_EXPORTER_PORT:8889" \ + --exclude generic-device-plugin \ + suites/optional/ +} diff --git a/test/scenarios/releases/el96-lrel@osconfig.sh b/test/scenarios/releases/el96-lrel@osconfig.sh new file mode 100644 index 0000000000..d084405a59 --- /dev/null +++ b/test/scenarios/releases/el96-lrel@osconfig.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +scenario_create_vms() { + prepare_kickstart host1 kickstart.ks.template "rhel-9.6-microshift-brew-optionals-4.${MINOR_VERSION}-${LATEST_RELEASE_TYPE}" + launch_vm +} + +scenario_remove_vms() { + remove_vm host1 +} + +scenario_run_tests() { + run_tests host1 \ + suites/osconfig/clusterid.robot \ + suites/osconfig/systemd-resolved.robot +} diff --git a/test/scenarios/releases/el96-lrel@router.sh b/test/scenarios/releases/el96-lrel@router.sh index 1ff7298a39..a1e0b2792a 100644 --- a/test/scenarios/releases/el96-lrel@router.sh +++ b/test/scenarios/releases/el96-lrel@router.sh @@ -1,5 +1,7 @@ #!/bin/bash +export TEST_EXCLUDES="ushift-6085" + # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { diff --git a/test/suites/router/router.robot b/test/suites/router/router.robot index 2d7553517d..68e848c55f 100644 --- a/test/suites/router/router.robot +++ b/test/suites/router/router.robot @@ -239,6 +239,7 @@ Router Verify Security Configuration Router Verify Access Logging Configuration Container [Documentation] Test ingress access logging configuration. + [Tags] ushift-6085 [Setup] Run Keywords ... Remove Custom Config ... AND