Skip to content

OCPBUGS-90537: allow agent TUI to be shown also for rhcos10 base ISO#10640

Open
andfasano wants to merge 1 commit into
openshift:mainfrom
andfasano:fix-agent-tui-rhcos10
Open

OCPBUGS-90537: allow agent TUI to be shown also for rhcos10 base ISO#10640
andfasano wants to merge 1 commit into
openshift:mainfrom
andfasano:fix-agent-tui-rhcos10

Conversation

@andfasano

@andfasano andfasano commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Required by openshift/appliance#721

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Enhanced device detection for the interactive console to support a broader range of graphics hardware configurations, improving compatibility with modern display devices.

(legacy framebuffer /dev/fb0 is no longer created)
@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 19, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@andfasano: This pull request references Jira Issue OCPBUGS-90537, which is invalid:

  • expected the bug to target the "5.0.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Required by openshift/appliance#721

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Two systemd unit files for the agent interactive console are updated to add DRI card device gating. The serial variant adds dev-dri-card0.device to After= and a negative ConditionPathExistsGlob=!/dev/dri/card*. The non-serial variant converts the framebuffer check to an OR-style condition that also matches /dev/dri/card*.

Changes

Agent Console DRI Device Gating

Layer / File(s) Summary
DRI device conditions in both console units
data/data/agent/systemd/units/agent-interactive-console.service, data/data/agent/systemd/units/agent-interactive-console-serial@.service
agent-interactive-console.service replaces the single ConditionPathExists=/dev/fb0 with OR-style checks for /dev/fb0 or /dev/dri/card*. agent-interactive-console-serial@.service adds dev-dri-card0.device to After= and a negative ConditionPathExistsGlob=!/dev/dri/card* to exclude itself when a DRI card is present.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly addresses the main change: enabling agent TUI for rhcos10 base ISO by updating systemd unit conditions to support devices beyond /dev/fb0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR contains only systemd unit file changes; no Ginkgo test files present to evaluate against the stable/deterministic test names requirement.
Test Structure And Quality ✅ Passed This PR only modifies systemd unit files for device detection on rhcos10. No Ginkgo test code exists in this PR, making the test structure check inapplicable.
Microshift Test Compatibility ✅ Passed This PR modifies systemd unit files only (agent-interactive-console.service and agent-interactive-console-serial@.service); no Ginkgo e2e tests are added or modified, so the MicroShift test compati...
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR modifies only systemd service unit files, not Ginkgo e2e tests. The custom check specifically applies to new e2e tests with Ginkgo patterns (It, Describe, Context, When); therefore it is no...
Topology-Aware Scheduling Compatibility ✅ Passed Changes are to systemd host-level service files, not Kubernetes manifests or operator code. No pod scheduling constraints, topology-aware configuration, or Kubernetes deployment logic is introduced.
Ote Binary Stdout Contract ✅ Passed Check is not applicable: PR only modifies systemd unit configuration files, not OTE binary code or any executable that could violate stdout contracts.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR modifies only systemd service configuration files, not Ginkgo e2e tests. The IPv6/disconnected network compatibility check applies only to test code additions.
No-Weak-Crypto ✅ Passed No cryptographic code, weak algorithms, or secret comparisons found. The PR changes only systemd unit configuration files (device ordering and boot conditions).
Container-Privileges ✅ Passed PR modifies only systemd unit files, not container/K8s manifests. The check targets privilege settings in container/K8s contexts which are not applicable here.
No-Sensitive-Data-In-Logs ✅ Passed PR adds systemd unit files with no logging directives that expose sensitive data. No passwords, tokens, API keys, PII, session IDs, or customer data found in logging configurations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

[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 assign bfournie for approval. For more information see the 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

@andfasano

Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 19, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@andfasano: This pull request references Jira Issue OCPBUGS-90537, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 `@data/data/agent/systemd/units/agent-interactive-console.service`:
- Around line 1-8: The changes to the [Unit] section in the
agent-interactive-console.service file require regenerating the corresponding
systemd service diagrams. Run the make command for the agent diagrams directory
(specifically the docs/user/agent/diagrams make target) to regenerate the
diagrams that document the service dependencies and relationships, then commit
the updated diagram files to the PR to reflect the new configuration in the
agent-interactive-console.service unit.
🪄 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: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b2a830a0-f0dd-4b46-93e8-984778c794e5

📥 Commits

Reviewing files that changed from the base of the PR and between 8014c32 and 8087bb2.

📒 Files selected for processing (2)
  • data/data/agent/systemd/units/agent-interactive-console-serial@.service
  • data/data/agent/systemd/units/agent-interactive-console.service

Comment on lines 1 to +8
[Unit]
Description=Get interactive user configuration at boot
After=dev-fb0.device network-pre.target NetworkManager.service pre-network-manager-config.service selinux.service agent-extract-tui.service set-hostname.service
After=dev-fb0.device dev-dri-card0.device network-pre.target NetworkManager.service pre-network-manager-config.service selinux.service agent-extract-tui.service set-hostname.service
Before=getty@tty1.service network.target network.service agent.service node-zero.service NetworkManager-wait-online.service agent-auth-token-status.service
Wants=agent-extract-tui.service
ConditionPathExists=/usr/local/bin/agent-tui
ConditionPathExists=/dev/fb0
ConditionPathExists=|/dev/fb0
ConditionPathExistsGlob=|/dev/dri/card*

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check if the guidelines mention systemd diagram regeneration
grep -A 5 "systemd/units" AGENTS.md CLAUDE.md CONTRIBUTING.md README.md 2>/dev/null || echo "Not found in main docs"

Repository: openshift/installer

Length of output: 86


🏁 Script executed:

# Verify the file location and check if docs/user/agent/diagrams exists
find . -type f -name "agent-interactive-console.service" 2>/dev/null
find . -type d -name "diagrams" 2>/dev/null | head -20

Repository: openshift/installer

Length of output: 156


🏁 Script executed:

# Check if there's a Makefile in the agent diagrams directory
if [ -d "docs/user/agent/diagrams" ]; then
  cat docs/user/agent/diagrams/Makefile 2>/dev/null || echo "No Makefile found"
else
  echo "docs/user/agent/diagrams directory not found"
fi

Repository: openshift/installer

Length of output: 1436


🏁 Script executed:

# Search for any systemd diagram regeneration guidance in the codebase
rg -i "systemd.*diagram|diagram.*systemd" --type markdown --type go 2>/dev/null | head -20

Repository: openshift/installer

Length of output: 542


🏁 Script executed:

# Check the data/data/agent/systemd directory structure
ls -la data/data/agent/systemd/ 2>/dev/null || echo "Directory not accessible"

Repository: openshift/installer

Length of output: 284


Regenerate agent systemd diagrams for this [Unit] change.

The systemd unit file changes affect the [Unit] section, which requires regenerating the agent service diagrams. Run make -C docs/user/agent/diagrams/ and include the updated diagrams in the PR.

🤖 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 `@data/data/agent/systemd/units/agent-interactive-console.service` around lines
1 - 8, The changes to the [Unit] section in the
agent-interactive-console.service file require regenerating the corresponding
systemd service diagrams. Run the make command for the agent diagrams directory
(specifically the docs/user/agent/diagrams make target) to regenerate the
diagrams that document the service dependencies and relationships, then commit
the updated diagram files to the PR to reflect the new configuration in the
agent-interactive-console.service unit.

Source: Coding guidelines

@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

@andfasano: This PR was included in a payload test run from openshift/appliance#721
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/fec81a90-6c01-11f1-982f-2f9795e1cf41-0

@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

@andfasano: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-agent-compact-ipv4-appliance-diskimage 8087bb2 link false /test e2e-agent-compact-ipv4-appliance-diskimage
ci/prow/e2e-agent-two-node-fencing-ipv4 8087bb2 link false /test e2e-agent-two-node-fencing-ipv4

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants