Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add centos stream 10 rpm build and e2e test #743

Merged
merged 4 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .packit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ jobs:
- centos-stream-9-aarch64
- centos-stream-9-ppc64le
- centos-stream-9-s390x
- centos-stream-10-x86_64
- centos-stream-10-aarch64
- centos-stream-10-ppc64le
- centos-stream-10-s390x
- fedora-40-x86_64
- fedora-40-aarch64
- fedora-40-ppc64le
Expand All @@ -65,20 +69,24 @@ jobs:
skip_build: true
identifier: integration-test

# To avoid https://issues.redhat.com/browse/TFT-2691
# x86_64 tf runner is not enough now
- job: tests
trigger: pull_request
targets:
- centos-stream-9-x86_64
- centos-stream-9-aarch64
- centos-stream-10-aarch64
- fedora-40-x86_64
tmt_plan: /to-existing-root
identifier: e2e-test-to-existing-root

- job: tests
trigger: pull_request
targets:
- centos-stream-9-x86_64
- centos-stream-9-aarch64
- centos-stream-10-x86_64
- centos-stream-10-aarch64
- fedora-40-aarch64
tmt_plan: /to-disk
identifier: e2e-test-to-disk
9 changes: 1 addition & 8 deletions plans/e2e.fmf
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ adjust:
virtualization:
is-supported: true
prepare:
- how: shell
script: |
source /etc/os-release
if [[ "$ID" == "centos" ]]; then
# EPEL for genisoimage
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
fi
- how: install
package:
- ansible-core
Expand All @@ -30,7 +23,7 @@ prepare:
- qemu-kvm
- libvirt
- virt-install
- genisoimage
- xorriso
- how: shell
script: ansible-galaxy collection install https://ansible-collection.s3.amazonaws.com/ansible-posix-1.5.4.tar.gz https://ansible-collection.s3.amazonaws.com/community-general-8.5.0.tar.gz
execute:
Expand Down
15 changes: 12 additions & 3 deletions tests/e2e/bootc-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,20 @@ source /etc/os-release
case ""${ID}-${VERSION_ID}"" in
"centos-9")
TEST_OS="centos-stream-9"
TIER1_IMAGE_URL="quay.io/centos-bootc/centos-bootc-dev:stream9"
TIER1_IMAGE_URL="quay.io/centos-bootc/centos-bootc:stream9"
SSH_USER="cloud-user"
REDHAT_VERSION_ID="9"
BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no"
;;
"centos-10")
TEST_OS="centos-stream-10"
TIER1_IMAGE_URL="quay.io/centos-bootc/centos-bootc:stream10"
SSH_USER="cloud-user"
REDHAT_VERSION_ID="10"
BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no"
# workaround CS10 libvirt selinux policy issue https://issues.redhat.com/browse/RHEL-46893
sudo setenforce 0
;;
"fedora-"*)
TEST_OS="fedora-${VERSION_ID}"
TIER1_IMAGE_URL="quay.io/fedora/fedora-bootc:${VERSION_ID}"
Expand Down Expand Up @@ -120,7 +129,7 @@ kargs = ["mitigations=on", "nosmt"]
EOF
RUN mkdir -p /usr/lib/bootc/kargs.d
RUN cat <<EOF >> /usr/lib/bootc/kargs.d/01-console.toml
kargs = ["systemd.unified_cgroup_hierarchy=0","console=ttyS0","panic=0"]
kargs = ["console=ttyS0","panic=0"]
EOF
REALEOF

Expand Down Expand Up @@ -254,7 +263,7 @@ ansible-playbook -v \
-e test_os="$TEST_OS" \
-e bootc_image="$TEST_IMAGE_URL" \
-e image_label_version_id="$REDHAT_VERSION_ID" \
-e kargs="mitigations=on,nosmt,systemd.unified_cgroup_hierarchy=0,console=ttyS0,panic=0" \
-e kargs="mitigations=on,nosmt,console=ttyS0,panic=0" \
playbooks/check-system.yaml

# Prepare upgrade containerfile
Expand Down
11 changes: 7 additions & 4 deletions tests/e2e/playbooks/check-system.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -218,13 +218,16 @@
command: findmnt -r -o SOURCE -n /
register: result_root_mount_point

# overlay: as default
# none: workaround issue https://gitlab.com/redhat/centos-stream/containers/bootc/-/issues/301
# composefs: issue has been fixed by https://github.com/containers/composefs/pull/303
- name: / mount point checking
block:
- assert:
that:
- result_root_mount_point.stdout == "overlay"
fail_msg: "/ does not mount with overlay"
success_msg: "/ mounts with overlay"
- result_root_mount_point.stdout == "overlay" or result_root_mount_point.stdout == "none" or result_root_mount_point.stdout == "composefs"
fail_msg: "/ does not mount with overlay or none or composefs"
success_msg: "/ mounts with overlay or none or composefs"
always:
- set_fact:
total_counter: "{{ total_counter | int + 1 }}"
Expand Down Expand Up @@ -356,7 +359,7 @@
register: result_selinux_denied
become: true
ignore_errors: true

# case: check karg
- name: grep for kargs
shell: cat /proc/cmdline | grep {{item}}
Expand Down
4 changes: 3 additions & 1 deletion tests/e2e/playbooks/deploy-libvirt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
boot_args: ""
os_variant:
centos-stream-9: centos-stream9
centos-stream-10: centos-stream9
fedora-40: fedora-unknown
fedora-41: fedora-unknown

Expand Down Expand Up @@ -116,7 +117,8 @@
# Then the --cloud-init will be dropped when start after system reset
- name: Generate seed.iso for NoCloud cloud-init
command: |
genisoimage -output "{{ image_path }}/seed.iso" \
xorriso -as mkisofs -input-charset utf8 \
-o "{{ image_path }}/seed.iso" \
-volid cidata \
-joliet \
-rock \
Expand Down