Skip to content

ci: pin kind-e2e runner to ubuntu-24.04 - #6225

Merged
RongGu merged 1 commit into
masterfrom
cheyang-pin-kind-e2e-runner-to-ubuntu-24-04
Oct 31, 2026
Merged

RongGu merged 1 commit into
masterfrom
cheyang-pin-kind-e2e-runner-to-ubuntu-24-04

Conversation

@cheyang

@cheyang cheyang commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Ⅰ. Describe what this PR does

Pins the kind-e2e-test job of E2E Functionality Check (.github/workflows/kind-e2e.yml) from ubuntu-latest to ubuntu-24.04, and adds a TODO(#6224) comment to switch back later.

ubuntu-latest now resolves to the ubuntu-26.04 runner image, where all 5 kind-e2e-test matrix jobs fail (for example, run 40474966878 for #6219; the same PR passed on ubuntu-24.04 in run 40125302787). Ubuntu 26.04's AppArmor 5.0.2 package installs /etc/apparmor.d/fusermount3. That profile is attached to /usr/bin/fusermount3 and only allows FUSE mounts under $HOME, /mnt, /run/user, /media, /tmp and /cvmfs, so the jindo-fuse container's mount of /jfs/jindofs-fuse is denied (fusermount3: mount failed: Permission denied). Ubuntu 24.04 (AppArmor 4.0.1) does not ship this profile.

backward-compatibility-e2e.yml is not changed because it passes on ubuntu-26.04.

Ⅱ. Does this pull request fix one issue?

NONE

This is a temporary mitigation for #6224, which stays open to track the real fix.

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.

No test cases are added because this PR only changes the CI runner image.

Ⅳ. Describe how to verify it

Check this PR's own E2E Functionality Check run. Every kind-e2e-test job should show ubuntu-24.04 in the "Runner Image" section of its log and pass, for all 5 Kubernetes versions (v1.33.2, v1.30.13, v1.28.15, v1.24.17 and v1.22.17).

Ⅴ. Special notes for reviews

After this merges, open PRs such as #6219 need a new push or a rebase to pick up the pin. Re-running an old workflow run reuses its original merge commit, so it still runs on ubuntu-latest.

ubuntu-latest now resolves to the ubuntu-26.04 runner image. Its AppArmor
fusermount3 profile only allows FUSE mounts under a few host paths, so the
JindoRuntime FUSE mount used by the kind e2e tests is denied and every
kind-e2e-test matrix job fails.

Pin the kind-e2e-test job to ubuntu-24.04 as a temporary mitigation. The
real fix is tracked in #6224.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: cheyang <cheyang@163.com>
@fluid-e2e-bot

fluid-e2e-bot Bot commented Oct 29, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from cheyang by writing /assign @cheyang in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecov Bot commented Oct 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.69%. Comparing base (fe074af) to head (fa06ee3).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6225   +/-   ##
=======================================
  Coverage   65.69%   65.69%           
=======================================
  Files         486      486           
  Lines       34423    34423           
=======================================
  Hits        22614    22614           
  Misses      10057    10057           
  Partials     1752     1752           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

There are no active review issues for the Ubuntu 24.04 runner pin and its documented reversion condition.

No open issues 🎉

What changed in this PR

Temporarily pins the Kind end-to-end test runner to Ubuntu 24.04 to avoid the reported JindoRuntime FUSE mount failures on Ubuntu 26.04.

Changes:

  • Changes kind-e2e-test from ubuntu-latest to ubuntu-24.04.
  • Adds a TODO(#6224) comment to restore ubuntu-latest once the mount issue is resolved.
File Description
.github/​workflows/​kind-e2e.yml Pins the runner image and documents the condition for reverting the pin.

Review effort: Balanced

@cheyang cheyang left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both reviewers independently confirmed the premise from the Actions API: ubuntu-latest flipped to the ubuntu-26.04 image between Oct 24 and Oct 27, and on 26.04 all 5 kind-e2e-test jobs fail with fusermount3: mount failed: Permission denied in the jindofs-fuse container (verbatim in failing run 40474966878's own diagnostic artifact), while the same workflow on the 24.04 image (run 40125302787, same triggering PR) and this PR's pinned run (40885813005) are green on all 5 Kubernetes versions across all 5 suites. Scope is correct: backward-compatibility-e2e stays on ubuntu-latest and is green on 26.04 (its script is Alluxio-only, no Jindo FUSE), and no other workflow runs FUSE workloads. CI at the review head is fully green (24/24 check runs plus CircleCI; tide pending only for the missing approved/lgtm labels — the review gate, not a failing check). No blockers or majors from either reviewer, and the debate had no factual disagreements; Reviewer C (Copilot) also raised no findings.

Two non-blocking notes, both already tracked by open issue #6224: (1) from merge day, CI exercises the JindoRuntime FUSE path only on 24.04, so the underlying product failure is invisible to CI until #6224 lands — though the lost 26.04 coverage was a two-day, all-red accidental lane created by the image flip, never a green signal; (2) when the CI side of #6224 is fixed, keep the issue (or a successor) open until the production-impact assessment is done, rather than auto-closing it with the CI fix. Nit: consider a target date on the un-pin checkbox in #6224 — optional, since the un-pin trigger is already explicit there.

Next round

[MUST] (none — merge is not gated on anything from this review)
[SHOULD] Keep #6224 open through its production-impact follow-up when the CI-side fix lands; optionally date the un-pin checkbox in #6224.
[Filed] (none)

Non-blocking observations (3) — not part of this round's ask; fix now, follow up, or file an issue as you see fit
  • .github/workflows/kind-e2e.yml:25 [minor] — kind-e2e loses all ubuntu-26.04 coverage of the JindoRuntime FUSE path
    F1 (consensus — raised by Claude, confirmed by Codex in cross-critique): pinning runs-on to ubuntu-24.04 removes ubuntu-26.04 from the only workflow that exercises the JindoRuntime FUSE mount, so CI can no longer detect the underlying failure: it stays broken in the product (jindo-fuse image + fusermount3 + hosts with AppArmor >= 5.0 shipping /etc/apparmor.d/fusermount3) and invisible to CI until #6224 is resolved. Codex's sharpening nuance, adopted: the lost 26.04 coverage was a ~2-day, all-red accidental lane created by the October image flip — never a designed green signal — and restoring it is verbatim #6224's second follow-up checkbox. This is the deliberate trade-off of a mitigation, tracked in open issue #6224, and does not gate merge. Some 26.04 signal survives in backward-compatibility-e2e.yml, which is intentionally left on ubuntu-latest (run 40885813116, job 12348908856 re-pulled live: image ubuntu-26.04, 5/5 SUCCESS).
  • [minor] — Keep the production-impact angle of #6224 visible
    Q1 (consensus — raised by Codex, confirmed by Claude in cross-critique): the pin fixes CI, but issue #6224 also tracks a production question: any FUSE runtime that mounts through fusermount3 (e.g. JindoRuntime with -oauto_unmount) will likely fail the same way on user nodes running Ubuntu 26.04 or other distros with AppArmor >= 5.0. When the CI side of #6224 is eventually fixed, please keep the issue (or a successor) open until the production-impact assessment follow-up is resolved, rather than auto-closing it with the CI fix. Not a defect in this PR — a scoping guard for the tracker it now references; complementary to F1.
  • .github/workflows/kind-e2e.yml:25 [nit] — The pin has no expiry signal
    F2 (consensus — raised by Claude, confirmed as nit by Codex with two mitigations): the TODO(#6224) marker has no date or review trigger; a dated follow-up checkbox in #6224 would keep the pin from outliving its purpose. Mitigations, adopted from the cross-critique: the un-pin trigger is already explicit in #6224's follow-ups ('Make kind-e2e pass on ubuntu-26.04 ..., then switch the workflow back to ubuntu-latest'), so the pin cannot be forgotten while the bug-labelled issue stays open; and a future ubuntu-24.04-label retirement would fail loudly via GitHub's deprecation brownouts, not silently. Anchoring corrected to line 25, where the TODO comment sits.
Verified review delta
  • F1: open (initial-pr)
  • Q1: open (initial-pr)
  • F2: open (initial-pr)

Code: clear. CI: success; attribution: baseline. Required CI checks still apply.

@RongGu RongGu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@RongGu
RongGu merged commit 96a3765 into master Oct 31, 2026
25 of 26 checks passed
cheyang pushed a commit to cheyang/fluid that referenced this pull request Nov 2, 2026
…d-cloudnative#6219)

Round 4: PR rebased onto 96a3765 (fluid-cloudnative#6225 runner pin moved to base; PR content
otherwise byte-identical to round 3). All five harness contracts green on the
new head; TS2 canary still-present as designed (fluid-cloudnative#6221 OPEN). No new findings,
no harness changes needed.

Co-Authored-By: Claude Code <noreply@anthropic.com>
cheyang pushed a commit to cheyang/fluid that referenced this pull request Nov 2, 2026
…elta; all findings still fixed; runner-pin nit closed via base fluid-cloudnative#6225; advance .last-reviewed
cheyang pushed a commit to cheyang/fluid that referenced this pull request Nov 2, 2026
…ase onto 96a3765); F1 still open/pre-existing; CI fully green

- re-verify.sh grafted onto c805f16: L1 pass, L2 pins resolve; F1 contract still red
- explicit per-ref runs on new base 96a3765 / previous head 9fe48f1 / head c805f16
- PR content byte-identical to round 1 (only kind-e2e.yml differs, via new base fluid-cloudnative#6225)
- CI: all green on new head incl. 5/5 kind-e2e-test; Analyze (go) 11m54s
- production code untouched; advance .last-reviewed to c805f16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants