Skip to content

Commit

Permalink
test: add custom partitions to raw image
Browse files Browse the repository at this point in the history
  • Loading branch information
mcattamoredhat committed Sep 4, 2024
1 parent 5b4bbf2 commit 2447408
Show file tree
Hide file tree
Showing 5 changed files with 157 additions and 1 deletion.
19 changes: 19 additions & 0 deletions test/cases/ostree-ami-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ OSTREE_OSNAME=rhel-edge
BUCKET_NAME="composer-ci-${TEST_UUID}"
BUCKET_URL="s3://${BUCKET_NAME}"
OBJECT_URL="http://${BUCKET_NAME}.s3.${AWS_DEFAULT_REGION}.amazonaws.com"
CUSTOM_FS_LVS="false"

# Set up temporary files.
TEMPDIR=$(mktemp -d)
Expand Down Expand Up @@ -100,10 +101,12 @@ case "${ID}-${VERSION_ID}" in
"rhel-9."*)
OSTREE_REF="rhel/9/${ARCH}/edge"
SYSROOT_RO="true"
CUSTOM_FS_LVS="true"
;;
"centos-9")
OSTREE_REF="centos/9/${ARCH}/edge"
SYSROOT_RO="true"
CUSTOM_FS_LVS="true"
;;
*)
redprint "unsupported distro: ${ID}-${VERSION_ID}"
Expand Down Expand Up @@ -615,6 +618,20 @@ groups = ["wheel"]
url = "${OBJECT_URL}/config.ign"
EOF

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 aws ami blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -884,6 +901,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e ostree_commit="${INSTALL_HASH}" \
-e sysroot_ro="$SYSROOT_RO" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -1062,6 +1080,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e ostree_commit="${UPGRADE_HASH}" \
-e sysroot_ro="$SYSROOT_RO" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down
23 changes: 23 additions & 0 deletions test/cases/ostree-raw-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ KERNEL_RT_PKG="kernel-rt"
# Set up variables.
SYSROOT_RO="false"
CUSTOM_DIRS_FILES="false"
CUSTOM_FS_LVS="false"

# Set FIPS variable default
FIPS="${FIPS:-false}"
Expand All @@ -121,6 +122,7 @@ case "${ID}-${VERSION_ID}" in
PARENT_REF="rhel/9/${ARCH}/edge"
OS_VARIANT="rhel9-unknown"
SYSROOT_RO="true"
CUSTOM_FS_LVS="true"
;;
"centos-8")
OSTREE_REF="centos/8/${ARCH}/edge"
Expand All @@ -134,6 +136,7 @@ case "${ID}-${VERSION_ID}" in
OS_VARIANT="centos-stream9"
BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no"
SYSROOT_RO="true"
CUSTOM_FS_LVS="true"
;;
"fedora-"*)
CONTAINER_TYPE=iot-container
Expand Down Expand Up @@ -475,6 +478,22 @@ enabled = ["custom.service"]
EOF
fi

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 raw image blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -587,6 +606,7 @@ EOF
-e sysroot_ro="$SYSROOT_RO" \
-e test_custom_dirs_files="$CUSTOM_DIRS_FILES" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -755,6 +775,7 @@ EOF
-e sysroot_ro="$SYSROOT_RO" \
-e test_custom_dirs_files="$CUSTOM_DIRS_FILES" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0

check_result
Expand Down Expand Up @@ -861,6 +882,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e test_custom_dirs_files="$CUSTOM_DIRS_FILES" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -1053,6 +1075,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e test_custom_dirs_files="$CUSTOM_DIRS_FILES" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down
63 changes: 63 additions & 0 deletions test/cases/ostree-simplified-installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ INSTALLER_FILENAME=simplified-installer.iso
MEMORY=2048
BOOT_ARGS="uefi"
# REF_PREFIX="rhel-edge"
CUSTOM_FS_LVS="false"

# Set up temporary files.
TEMPDIR=$(mktemp -d)
Expand Down Expand Up @@ -155,6 +156,7 @@ case "${ID}-${VERSION_ID}" in
SYSROOT_RO="true"
ANSIBLE_USER=fdouser
FDO_USER_ONBOARDING="true"
CUSTOM_FS_LVS="true"
# workaround selinux bug https://bugzilla.redhat.com/show_bug.cgi?id=2026795
sudo setenforce 0
getenforce
Expand All @@ -173,6 +175,7 @@ case "${ID}-${VERSION_ID}" in
SYSROOT_RO="true"
ANSIBLE_USER=fdouser
FDO_USER_ONBOARDING="true"
CUSTOM_FS_LVS="true"
# workaround selinux bug https://bugzilla.redhat.com/show_bug.cgi?id=2026795
sudo setenforce 0
getenforce
Expand Down Expand Up @@ -469,6 +472,20 @@ fips = ${FIPS}
EOF
fi

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 simplified_iso_without_fdo blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -575,6 +592,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e fdo_credential="false" \
-e sysroot_ro="$SYSROOT_RO" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -636,6 +654,19 @@ append = "enforcing=0"
EOF
fi

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 installer blueprint"
cat "$BLUEPRINT_FILE"
Expand Down Expand Up @@ -764,6 +795,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e mfg_guest_int_name="${MFG_GUEST_INT_NAME}" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -821,6 +853,20 @@ append = "enforcing=0"
EOF
fi

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 fdosshkey blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -950,6 +996,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e mfg_guest_int_name="${MFG_GUEST_INT_NAME}" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -1006,6 +1053,20 @@ append = "enforcing=0"
EOF
fi

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 fdosshkey blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -1116,6 +1177,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e mfg_guest_int_name="${MFG_GUEST_INT_NAME}" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -1259,6 +1321,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e sysroot_ro="$SYSROOT_RO" \
-e mfg_guest_int_name="${MFG_GUEST_INT_NAME}" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0

check_result
Expand Down
19 changes: 19 additions & 0 deletions test/cases/ostree-vsphere.sh
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ CONTAINER_TYPE=edge-container
CONTAINER_FILENAME=container.tar
VSPHERE_IMAGE_TYPE=edge-vsphere
VSPHERE_FILENAME=image.vmdk
CUSTOM_FS_LVS="false"

# Set up temporary files.
TEMPDIR=$(mktemp -d)
Expand Down Expand Up @@ -118,10 +119,12 @@ case "${ID}-${VERSION_ID}" in
"rhel-9"* )
OSTREE_REF="rhel/9/${ARCH}/edge"
GUEST_ID_DC70="rhel9_64Guest"
CUSTOM_FS_LVS="true"
;;
"centos-9")
OSTREE_REF="centos/9/${ARCH}/edge"
GUEST_ID_DC70="centos9_64Guest"
CUSTOM_FS_LVS="true"
;;
*)
echo "unsupported distro: ${ID}-${VERSION_ID}"
Expand Down Expand Up @@ -460,6 +463,20 @@ groups = ["wheel"]
url = "${IGNITION_SERVER_URL}/config.ign"
EOF

if [[ "${CUSTOM_FS_LVS}" == "true" ]]; then
tee -a "$BLUEPRINT_FILE" > /dev/null << EOF
[[customizations.filesystem]]
mountpoint = "/foo/bar"
size=2147483648
[[customizations.filesystem]]
mountpoint = "/foo"
size=8589934592
[[customizations.filesystem]]
mountpoint = "/var/myfiles"
size= "1 GiB"
EOF
fi

greenprint "📄 vmdk blueprint"
cat "$BLUEPRINT_FILE"

Expand Down Expand Up @@ -548,6 +565,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e fdo_credential="false" \
-e sysroot_ro="$SYSROOT_RO" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0
check_result

Expand Down Expand Up @@ -682,6 +700,7 @@ sudo ansible-playbook -v -i "${TEMPDIR}"/inventory \
-e fdo_credential="false" \
-e sysroot_ro="$SYSROOT_RO" \
-e fips="${FIPS}" \
-e custom_fs_lvs="${CUSTOM_FS_LVS}" \
/usr/share/tests/osbuild-composer/ansible/check_ostree.yaml || RESULTS=0

check_result
Expand Down
34 changes: 33 additions & 1 deletion test/data/ansible/check_ostree.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
test_custom_dirs_files: "false"
sysroot_ro: "false"
fips: "false"
custom_fs_lvs: "false"

tasks:
# current target host's IP address
Expand Down Expand Up @@ -261,7 +262,7 @@

# case: check pv size
- name: check pv size
shell: pvs --reportformat json | jq .report[0].pv[0].pv_size -r
shell: pvs --reportformat json --units g | jq .report[0].pv[0].pv_size -r | sed "s/\.[0-9]\+g//g"
become: yes
register: result_pv_size
when: "'/dev/mapper/rootvg-rootlv' in result_sysroot_source.stdout"
Expand Down Expand Up @@ -303,6 +304,37 @@
when:
- "'/dev/mapper/rootvg-rootlv' in result_sysroot_source.stdout"
- fdo_credential == "false"
- custom_fs_lvs == "false"

# check logical volumes
- name: check logical volumes
shell: lvdisplay -a
become: yes
register: result_custom_lvs
when:
- "'/dev/mapper/rootvg-rootlv' in result_sysroot_source.stdout"
- custom_fs_lvs == "true"

- name: "check that custom partitions are present"
block:
- assert:
that:
- "'var_myfileslv' in result_custom_lvs.stdout"
- "'foolv' in result_custom_lvs.stdout"
- "'foo_barlv' in result_custom_lvs.stdout"
fail_msg: "There are custom partitions missing"
success_msg: "Custom partitions present in filesystem"
always:
- set_fact:
total_counter: "{{ total_counter | int + 1 }}"
rescue:
- name: failed count + 1
set_fact:
failed_counter: "{{ failed_counter | int + 1 }}"
when:
- "'/dev/mapper/rootvg-rootlv' in result_sysroot_source.stdout"
- custom_fs_lvs == "true"


# case: check /sysroot lv size
- name: check sysroot lv size
Expand Down

0 comments on commit 2447408

Please sign in to comment.