Skip to content

NO-ISSUE: wait for greenboot health check before stopping MicroShift in tuned tests - #7345

Open
redhat-chai-bot wants to merge 1 commit into
openshift:mainfrom
redhat-chai-bot:fix/tuned-wait-greenboot-before-stop
Open

NO-ISSUE: wait for greenboot health check before stopping MicroShift in tuned tests#7345
redhat-chai-bot wants to merge 1 commit into
openshift:mainfrom
redhat-chai-bot:fix/tuned-wait-greenboot-before-stop

Conversation

@redhat-chai-bot

@redhat-chai-bot redhat-chai-bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix a race condition in the tuned test suite that causes intermittent failures on ARM64.

Problem

The Setup keyword in microshift-tuned.robot stops and disables MicroShift
since the tuned tests only need microshift-tuned.service. However, if
greenboot healthcheck is still running when MicroShift is stopped, greenboot
detects the service failure and immediately reboots the host before the test
can proceed.

This is a timing-dependent race:

  • Failing run: Stop MicroShift happens while greenboot healthcheck is
    waiting for MicroShift readiness → greenboot sees failure → immediate reboot
  • Passing run: MicroShift is stopped and disabled before greenboot runs →
    healthcheck is skipped on next boot

The issue is more likely to manifest on ARM64 instances due to performance
differences compared to x86_64.

Fix

Add Wait Until Greenboot Health Check Exited before Stop MicroShift in
the test suite Setup keyword. This ensures greenboot healthcheck has
completed before MicroShift is stopped, preventing the race condition.

The Wait Until Greenboot Health Check Exited keyword is already available
from ostree-health.resource, which is already imported in the test suite's
Settings section.

Affected scenarios

  • el96-src and el98-src low-latency scenarios on 4.22 ARM64 periodics
  • Observed as consistent failure in CI Doctor reports across multiple runs

AI-generated. Review for accuracy.

@pmtk requested in Slack thread

Summary by CodeRabbit

  • Tests
    • Improved test setup stability by waiting for the host health check to complete before stopping and disabling MicroShift.

…uned tests

The tuned test suite stops and disables MicroShift during setup since
it only needs the microshift-tuned.service. However, if greenboot
healthcheck is still running when MicroShift is stopped, greenboot
detects the failure and immediately reboots the host, causing the
test to fail with a timing-dependent race condition.

Wait for greenboot healthcheck to complete before stopping MicroShift,
ensuring a clean transition.
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Advanced

Run ID: cb7f209f-fd41-457e-8458-80c71493b1b5

📥 Commits

Reviewing files that changed from the base of the PR and between 813abf6 and 6707f8c.

📒 Files selected for processing (1)
  • test/suites/tuned/microshift-tuned.robot

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


Walkthrough

The tuned test setup now waits for the greenboot health check to exit before it stops and disables MicroShift.

Changes

Tuned test setup

Layer / File(s) Summary
Greenboot wait before MicroShift shutdown
test/suites/tuned/microshift-tuned.robot
The Setup keyword waits for the greenboot health check to exit before stopping and disabling MicroShift.

Priority: ⬇️ Low — Defer this narrow tuned-test timing fix because it only prevents intermittent ARM64 test reboots during MicroShift shutdown.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 6707f

The test setup waits for the greenboot health check to finish before stopping MicroShift, preventing intentional shutdown from triggering a host reboot. The change is ready to merge.

Suggested labels: ready-for-human-review

🚥 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 clearly and concisely describes the main change: waiting for the greenboot health check before stopping MicroShift in the tuned tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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 The pull request changes one file and adds only the Robot Framework keyword call Wait Until Greenboot Health Check Exited in Setup. The direct diff against origin/main shows no Ginkgo files or G…
Test Structure And Quality ✅ Passed PASS: The custom check applies to Ginkgo test code. The pull request changes the Robot Framework suite test/suites/tuned/microshift-tuned.robot, adding the Robot keyword `Wait Until Greenboot Health…
Microshift Test Compatibility ✅ Passed PASS: The pull request changes only test/suites/tuned/microshift-tuned.robot by adding Wait Until Greenboot Health Check Exited to the Robot Framework suite setup. It adds no Ginkgo It, `Describ…
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS — The pull request changes only test/suites/tuned/microshift-tuned.robot. It adds a Robot Framework setup keyword and adds no Ginkgo e2e test or multi-node test assumption. The SNO compatibilit…
Topology-Aware Scheduling Compatibility ✅ Passed PASS: The pull request changes only test/suites/tuned/microshift-tuned.robot, adding a pre-existing greenboot wait keyword before stopping MicroShift. The parent-to-HEAD diff is one insertion and co…
Ote Binary Stdout Contract ✅ Passed PASS. The exact parent-to-HEAD diff changes only test/suites/tuned/microshift-tuned.robot and adds Wait Until Greenboot Health Check Exited in Robot Framework suite setup. No OTE binary source, pr…
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS — The pull request changes a Robot Framework suite, not a new Ginkgo e2e test. The affected file adds Wait Until Greenboot Health Check Exited to Setup before Stop MicroShift; it contains n…
No-Weak-Crypto ✅ Passed PASS: The pull request changes one line in test/suites/tuned/microshift-tuned.robot: it adds Wait Until Greenboot Health Check Exited. The exact diff contains no MD5, SHA1, DES, 3DES, RC4, Blowfis…
Container-Privileges ✅ Passed The pull request changes one Robot Framework file and adds only Wait Until Greenboot Health Check Exited before Stop MicroShift. The full parent-to-HEAD diff contains no privileged, host namespa…
No-Sensitive-Data-In-Logs ✅ Passed PASS: The pull request adds only the Wait Until Greenboot Health Check Exited keyword call. That keyword checks greenboot-healthcheck.service through systemctl show and does not log command outp…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


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

@coderabbitai coderabbitai Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label Sep 8, 2026
@pmtk

pmtk commented Sep 8, 2026

Copy link
Copy Markdown
Member

/title NO-ISSUE: wait for greenboot health check before stopping MicroShift in tuned tests

@pmtk

pmtk commented Sep 8, 2026

Copy link
Copy Markdown
Member

/test ?

@pmtk

pmtk commented Sep 8, 2026

Copy link
Copy Markdown
Member

/test e2e-aws-tests-bootc-periodic-arm-el10 e2e-aws-tests-bootc-periodic-arm-el9

@pmtk

pmtk commented Sep 9, 2026

Copy link
Copy Markdown
Member

/retest

@pmtk

pmtk commented Sep 9, 2026

Copy link
Copy Markdown
Member

/retitle NO-ISSUE: wait for greenboot health check before stopping MicroShift in tuned tests

@openshift-ci openshift-ci Bot changed the title test: wait for greenboot health check before stopping MicroShift in tuned tests NO-ISSUE: wait for greenboot health check before stopping MicroShift in tuned tests Sep 9, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 9, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@redhat-chai-bot: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

Fix a race condition in the tuned test suite that causes intermittent failures on ARM64.

Problem

The Setup keyword in microshift-tuned.robot stops and disables MicroShift
since the tuned tests only need microshift-tuned.service. However, if
greenboot healthcheck is still running when MicroShift is stopped, greenboot
detects the service failure and immediately reboots the host before the test
can proceed.

This is a timing-dependent race:

  • Failing run: Stop MicroShift happens while greenboot healthcheck is
    waiting for MicroShift readiness → greenboot sees failure → immediate reboot
  • Passing run: MicroShift is stopped and disabled before greenboot runs →
    healthcheck is skipped on next boot

The issue is more likely to manifest on ARM64 instances due to performance
differences compared to x86_64.

Fix

Add Wait Until Greenboot Health Check Exited before Stop MicroShift in
the test suite Setup keyword. This ensures greenboot healthcheck has
completed before MicroShift is stopped, preventing the race condition.

The Wait Until Greenboot Health Check Exited keyword is already available
from ostree-health.resource, which is already imported in the test suite's
Settings section.

Affected scenarios

  • el96-src and el98-src low-latency scenarios on 4.22 ARM64 periodics
  • Observed as consistent failure in CI Doctor reports across multiple runs

AI-generated. Review for accuracy.

@pmtk requested in Slack thread

Summary by CodeRabbit

  • Tests
  • Improved test setup stability by waiting for the host health check to complete before stopping and disabling MicroShift.

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.

@pmtk

pmtk commented Sep 9, 2026

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Sep 9, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9

@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pmtk, redhat-chai-bot

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

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 9, 2026
@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: all tests passed!

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants