[release-4.22] revert disk size to 31G and add workaround for download pods disk usuage.#1247
[release-4.22] revert disk size to 31G and add workaround for download pods disk usuage.#1247praveenkumar wants to merge 2 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Walkthrough
Changessnc.sh and transient-ro mount update
Estimated code review effort: 2 (Simple) | ~5 minutes Possibly related PRs
Suggested labels: Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
snc.sh (1)
218-221: ⚡ Quick winConsolidate the duplicated downloads-pod workaround into a helper.
Line 218 and Line 280 repeat the same delete+wait sequence; extracting a small function avoids drift when this workaround is updated later.
♻️ Proposed refactor
+# Workaround for OCPBUGS-88450 +restart_console_downloads_pods() { + retry ${OC} delete pod -n openshift-console -l app=console,component=downloads + retry ${OC} wait --for=condition=Ready pod -n openshift-console -l app=console,component=downloads --timeout=60s +} + -# Remove the downloads pods because of https://redhat.atlassian.net/browse/OCPBUGS-88450 -# as workaround -retry ${OC} delete pod -n openshift-console -l app=console,component=downloads -retry ${OC} wait --for=condition=Ready pod -n openshift-console -l app=console,component=downloads --timeout=60s +restart_console_downloads_pods @@ -# Remove the downloads pods because of https://redhat.atlassian.net/browse/OCPBUGS-88450 -# as workaround -retry ${OC} delete pod -n openshift-console -l app=console,component=downloads -retry ${OC} wait --for=condition=Ready pod -n openshift-console -l app=console,component=downloads --timeout=60s +restart_console_downloads_podsAlso applies to: 280-283
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@snc.sh` around lines 218 - 221, The delete and wait operations for the downloads pods workaround (retry ${OC} delete pod and retry ${OC} wait commands) are duplicated at lines 218-221 and lines 280-283. Extract this repeated sequence into a dedicated helper function, then call that function from both locations to eliminate duplication and ensure any future updates to the workaround are consistently applied everywhere it is used.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@snc.sh`:
- Around line 218-221: The delete and wait operations for the downloads pods
workaround (retry ${OC} delete pod and retry ${OC} wait commands) are duplicated
at lines 218-221 and lines 280-283. Extract this repeated sequence into a
dedicated helper function, then call that function from both locations to
eliminate duplication and ensure any future updates to the workaround are
consistently applied everywhere it is used.
Looks like it was happening because of https://redhat.atlassian.net/browse/OCPBUGS-88450 one This reverts commit ba3ba79.
33954c8 to
52c8272
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@99-enable-transient-ro.yaml`:
- Line 44: The ExecStart command in the transient root override uses a mount
option unsupported by this RHCOS/util-linux base, so the remount step will fail
and the symlink setup in the same shell will never happen. Update the command in
the systemd unit to use a remount approach compatible with RHCOS 9.8 and keep
the `/Users` symlink creation tied to the successful remount path. Make sure the
fix is applied in the override that defines ExecStart so the startup behavior is
reliable even when the shell prefix ignores nonzero exit codes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 2840fe0b-59fd-41ef-aca3-a0735890e747
📒 Files selected for processing (2)
99-enable-transient-ro.yamlsnc.sh
| RemainAfterExit=yes | ||
| ExecStart=/bin/mkdir -p /var/Users | ||
| ExecStart=-/bin/bash -c 'unshare -m -- /bin/sh -c "mount -o remount,rw / && ln -sf var/Users /Users"' | ||
| ExecStart=-/bin/bash -c 'unshare -m -- /bin/sh -c "mount --options-source=disable -o remount,rw / && ln -sf var/Users /Users"' |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if --options-source is documented in the mount man page on RHCOS
# or search for util-linux version references in the repo
rg -n 'options-source' --type yaml --type shRepository: crc-org/snc
Length of output: 149
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- target file context ---'
git ls-files '99-enable-transient-ro.yaml' && {
nl -ba 99-enable-transient-ro.yaml | sed -n '1,120p'
}
echo '--- repo search: options-source / mount invocations / util-linux references ---'
rg -n --hidden --no-messages -S 'options-source|mount --|util-linux|RHCOS|rhcos' .Repository: crc-org/snc
Length of output: 245
🏁 Script executed:
#!/bin/bash
set -euo pipefail
if git ls-files --error-unmatch '99-enable-transient-ro.yaml' >/dev/null 2>&1; then
nl -ba 99-enable-transient-ro.yaml | sed -n '1,120p'
fiRepository: crc-org/snc
Length of output: 189
🌐 Web query:
util-linux mount --options-source introduced version documentation
💡 Result:
The --options-source command-line option for the mount command in the util-linux package was introduced in version 2.39 [1][2]. This option allows users to specify the source of default mount options. The source parameter accepts a comma-separated list of values: fstab, mtab, and disable [3][4]. Setting it to disable will disable reading from fstab and mtab and enables the --options-source-force behavior [3][5]. The default value for this setting is fstab,mtab [4][6]. This feature was part of a major rewrite of libmount and the mount command to support the new file descriptor-based mount kernel API, which was a primary focus of the 2.39 release [1][2].
Citations:
- 1: https://github.com/util-linux/util-linux/blob/master/Documentation/releases/v2.39-ReleaseNotes
- 2: https://lists.openwall.net/linux-kernel/2023/05/17/704
- 3: https://github.com/util-linux/util-linux/blob/e4c30643/sys-utils/mount.8.adoc
- 4: https://man.archlinux.org/man/core/util-linux/mount.8.en
- 5: https://manpages.ubuntu.com/manpages/questing/man8/mount.8.html
- 6: https://manpages.opensuse.org/Leap-15.6/util-linux/mount.8.en.html
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- target file context ---'
sed -n '35,55p' 99-enable-transient-ro.yaml
echo '--- repo search: rhcos / util-linux version references ---'
rg -n --hidden --no-messages -S 'util-linux|RHCOS|rhcos|version|osVersion|release' . \
| sed -n '1,200p'Repository: crc-org/snc
Length of output: 16117
🌐 Web query:
OpenShift 4.22 RHCOS util-linux version RHEL 9
💡 Result:
In OpenShift Container Platform 4.22, Red Hat Enterprise Linux CoreOS (RHCOS) is based on Red Hat Enterprise Linux (RHEL) 9.8 [1][2][3]. The util-linux package version utilized in RHEL 9 (including RHEL 9.8) is 2.37.4 [4][5][6]. As of July 8, 2026, the specific release version of this package commonly associated with current RHEL 9 updates is 2.37.4-25.el9 [5][6].
Citations:
- 1: https://access.redhat.com/articles/6907891
- 2: https://docs.redhat.com/en/documentation/openshift_container_platform/4.22/html-single/installing_on_any_platform/index
- 3: openshift/os@630c237
- 4: https://gitlab.com/redhat/centos-stream/rpms/util-linux/-/raw/c9s/util-linux.spec
- 5: https://access.redhat.com/errata/RHBA-2026:18680
- 6: https://rpmfind.net/linux/RPM/centos-stream/9/baseos/x86_64/util-linux-2.37.4-25.el9.x86_64.html
🌐 Web query:
OpenShift 4.22 RHCOS based on RHEL version util-linux
💡 Result:
Red Hat OpenShift Container Platform (OCP) 4.22 uses Red Hat Enterprise Linux CoreOS (RHCOS), which is based on Red Hat Enterprise Linux (RHEL) 9.8 [1][2][3]. As part of this RHEL 9.8 base, it includes the util-linux package versions provided by the RHEL 9.8 repositories [4].
Citations:
- 1: https://docs.redhat.com/en/documentation/openshift_container_platform/4.22/html/release_notes/ocp-4-22-release-notes
- 2: https://docs.redhat.com/en/documentation/openshift_container_platform/4.22/html/installing_on_any_platform/installing-platform-agnostic
- 3: https://access.redhat.com/articles/6907891
- 4: openshift/os@630c237
mount --options-source=disable is too new for this RHCOS base. OCP 4.22 ships RHCOS 9.8 with util-linux 2.37.4, so this remount will fail and the leading - will hide it; /Users won’t be created.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@99-enable-transient-ro.yaml` at line 44, The ExecStart command in the
transient root override uses a mount option unsupported by this RHCOS/util-linux
base, so the remount step will fail and the symlink setup in the same shell will
never happen. Update the command in the systemd unit to use a remount approach
compatible with RHCOS 9.8 and keep the `/Users` symlink creation tied to the
successful remount path. Make sure the fix is applied in the override that
defines ExecStart so the startup behavior is reliable even when the shell prefix
ignores nonzero exit codes.
|
/retest |
1 similar comment
|
/retest |
Summary by CodeRabbit