Skip to content

METAL-1918: Add servicing annotation downstream - #512

Open
jacob-anders wants to merge 4 commits into
openshift:mainfrom
jacob-anders:add-servicing-annotation-downstream
Open

METAL-1918: Add servicing annotation downstream#512
jacob-anders wants to merge 4 commits into
openshift:mainfrom
jacob-anders:add-servicing-annotation-downstream

Conversation

@jacob-anders

@jacob-anders jacob-anders commented Jul 23, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Added support for service annotations that trigger servicing on provisioned hosts without requiring them to power off first.
    • Service annotations are cleared after successful servicing while the host remains powered on.
    • Suffixed service annotations are recognized and preserved for continued processing.
  • Bug Fixes

    • Service annotations are retained when hosts are not yet provisioned or lack a servicing policy.

@openshift-ci
openshift-ci Bot requested review from derekhiggins and zaneb July 23, 2026 12:43
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a service annotation prefix, integrates service annotations into BareMetalHost servicing eligibility and cleanup, and adds reconciliation tests for base, suffixed, provisioned, non-provisioned, and missing-policy cases.

Changes

Service annotation servicing

Layer / File(s) Summary
Service annotation contract and helpers
apis/metal3.io/v1alpha1/baremetalhost_types.go, internal/controller/metal3.io/service_annotation_openshift.go
Defines the service annotation prefix and helpers for detecting base or suffixed annotations and clearing the base annotation.
Servicing eligibility and cleanup
internal/controller/metal3.io/baremetalhost_controller.go
Allows eligible provisioned hosts with service annotations to enter servicing and persists cleanup of the base annotation after servicing.
Reconciliation behavior tests
internal/controller/metal3.io/service_annotation_openshift_test.go
Tests servicing, annotation cleanup, missing update policies, non-provisioned hosts, and suffixed annotations.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: zaneb, derekhiggins

Sequence Diagram(s)

sequenceDiagram
  participant BareMetalHost
  participant BareMetalHostController
  participant HostUpdatePolicy
  BareMetalHost->>BareMetalHostController: Reconcile service annotation
  BareMetalHostController->>HostUpdatePolicy: Apply servicing policy
  HostUpdatePolicy-->>BareMetalHostController: Servicing completes
  BareMetalHostController->>BareMetalHost: Clear base annotation and update
Loading
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 87.50% which is sufficient. The required threshold is 80.00%.
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 new tests use static Go test names only; no Ginkgo It/Describe/When titles or dynamic interpolated names were added.
Test Structure And Quality ✅ Passed New tests use existing fake-client helpers, no cluster resources, no indefinite waits, and match nearby controller test patterns.
Microshift Test Compatibility ✅ Passed The added tests are plain Go unit tests, not Ginkgo e2e specs, and they don't reference any MicroShift-unsupported OpenShift APIs or namespaces.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: the added tests are plain Go unit tests using fixtures/mocked hosts, not Ginkgo e2e, and they make no multi-node/HA assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed Touched files only add service-annotation logic and tests; no nodeSelector, affinity, spread, replicas, PDBs, or topology/worker-node assumptions were introduced.
Ote Binary Stdout Contract ✅ Passed Touched code adds constants, helpers, and tests only; no main/init/suite stdout writes or klog/stdout logging were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The new tests are standard Go unit tests, not Ginkgo e2e, and they contain no IPv4-only or external-network assumptions.
No-Weak-Crypto ✅ Passed Changed code only adds annotation constants and string-prefix helpers; no weak crypto, custom crypto, or secret/token comparisons were introduced.
Container-Privileges ✅ Passed The PR only adds annotation constants/helpers and controller logic; no manifests or pod specs were changed, and no privilege fields appear in the touched files.
No-Sensitive-Data-In-Logs ✅ Passed The PR adds no new log calls in the service-annotation code, and the controller logs only generic status/errors without annotation values or secrets.
Title check ✅ Passed The title is concise and accurately captures the main change: adding downstream servicing annotation support.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@jacob-anders
jacob-anders force-pushed the add-servicing-annotation-downstream branch from cf58d4c to db02011 Compare July 23, 2026 12:46

@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 `@internal/controller/metal3.io/baremetalhost_controller.go`:
- Around line 1585-1588: The firmware policy selection must distinguish
service-annotation triggers from normal reboot/power-on triggers. In
internal/controller/metal3.io/baremetalhost_controller.go:1585-1588, allow
onService only when a service annotation initiated the flow and keep onReboot
restricted to the powered-off/reboot path; at 1756-1757, pass or preserve that
trigger context when selecting the allowed policy. Update
internal/controller/metal3.io/baremetalhost_controller_test.go:1171-1214 to
replace the live-onReboot expectation and verify onService does not run during
an annotation-free power-on.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0f26c176-7b3c-4fb6-9c73-a86bd3cbf5bb

📥 Commits

Reviewing files that changed from the base of the PR and between 775d84f and cf58d4c.

⛔ Files ignored due to path filters (2)
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/baremetalhost_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/hostupdatepolicy_types.go is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (6)
  • apis/metal3.io/v1alpha1/baremetalhost_types.go
  • apis/metal3.io/v1alpha1/hostupdatepolicy_types.go
  • config/base/crds/bases/metal3.io_hostupdatepolicies.yaml
  • config/render/capm3.yaml
  • internal/controller/metal3.io/baremetalhost_controller.go
  • internal/controller/metal3.io/baremetalhost_controller_test.go

Comment thread internal/controller/metal3.io/baremetalhost_controller.go Outdated
@jacob-anders
jacob-anders force-pushed the add-servicing-annotation-downstream branch from db02011 to daf4585 Compare July 23, 2026 13:07
@jacob-anders

Copy link
Copy Markdown
Author

/test e2e-metal-ipi-ovn-ipv6

@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: 2

🤖 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 `@internal/controller/metal3.io/baremetalhost_controller_test.go`:
- Line 1129: Update the image fixtures in
internal/controller/metal3.io/baremetalhost_controller_test.go at lines 1129,
1180, 1220, 1259, and 1313 to explicitly set a non-MD5 ChecksumType and replace
each matching test checksum with a value valid for that type, avoiding the
implicit MD5 default and any “MD5 ... usage” warning.
- Around line 1202-1207: Update each tryReconcile predicate in
internal/controller/metal3.io/baremetalhost_controller_test.go at lines
1202-1207, 1241-1245, 1269-1274, and 1293-1297 to explicitly reject
OperationalStatusServicing before accepting its respective final state:
annotation removal, power-on, annotation removal, and available-host steady
state. Preserve the existing success conditions while ensuring every
intermediate servicing status causes the predicate to fail.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5d6f4124-a7f9-4d05-82ff-706962118704

📥 Commits

Reviewing files that changed from the base of the PR and between cf58d4c and 716b898.

⛔ Files ignored due to path filters (4)
  • test/vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/baremetalhost_types.go is excluded by !**/vendor/**
  • test/vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/hostupdatepolicy_types.go is excluded by !**/vendor/**
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/baremetalhost_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/hostupdatepolicy_types.go is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (6)
  • apis/metal3.io/v1alpha1/baremetalhost_types.go
  • apis/metal3.io/v1alpha1/hostupdatepolicy_types.go
  • config/base/crds/bases/metal3.io_hostupdatepolicies.yaml
  • config/render/capm3.yaml
  • internal/controller/metal3.io/baremetalhost_controller.go
  • internal/controller/metal3.io/baremetalhost_controller_test.go
🚧 Files skipped from review as they are similar to previous changes (5)
  • config/base/crds/bases/metal3.io_hostupdatepolicies.yaml
  • config/render/capm3.yaml
  • apis/metal3.io/v1alpha1/baremetalhost_types.go
  • apis/metal3.io/v1alpha1/hostupdatepolicy_types.go
  • internal/controller/metal3.io/baremetalhost_controller.go

Comment thread internal/controller/metal3.io/baremetalhost_controller_test.go Outdated
Comment thread internal/controller/metal3.io/baremetalhost_controller_test.go Outdated
@jacob-anders

Copy link
Copy Markdown
Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
internal/controller/metal3.io/baremetalhost_controller.go (1)

1760-1784: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep offline hosts out of the live onService path.

When a service annotation is present while Status.PoweredOn is false, servicingAllowed becomes true and doServiceIfNeeded(..., hasService) treats the annotation as a live request. That can start servicing servicing on an offline host and clear the annotation; keep the base annotation pending, power on first, then service, or narrow servicingAllowed to hasService && PoweredOn.

🤖 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 `@internal/controller/metal3.io/baremetalhost_controller.go` around lines 1760
- 1784, Update the servicingAllowed/doServiceIfNeeded flow so a host with a
service annotation and Status.PoweredOn false is not treated as a live servicing
request. Keep the annotation pending while offline, and only invoke
doServiceIfNeeded with the live service request after the host is powered on,
preserving normal servicing behavior for powered-on hosts.
🤖 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.

Outside diff comments:
In `@internal/controller/metal3.io/baremetalhost_controller.go`:
- Around line 1760-1784: Update the servicingAllowed/doServiceIfNeeded flow so a
host with a service annotation and Status.PoweredOn false is not treated as a
live servicing request. Keep the annotation pending while offline, and only
invoke doServiceIfNeeded with the live service request after the host is powered
on, preserving normal servicing behavior for powered-on hosts.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 32638e30-5751-45fb-a01d-942a25e96d55

📥 Commits

Reviewing files that changed from the base of the PR and between 775d84f and 79d2271.

⛔ Files ignored due to path filters (4)
  • test/vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/baremetalhost_types.go is excluded by !**/vendor/**
  • test/vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/hostupdatepolicy_types.go is excluded by !**/vendor/**
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/baremetalhost_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1/hostupdatepolicy_types.go is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (6)
  • apis/metal3.io/v1alpha1/baremetalhost_types.go
  • apis/metal3.io/v1alpha1/hostupdatepolicy_types.go
  • config/base/crds/bases/metal3.io_hostupdatepolicies.yaml
  • config/render/capm3.yaml
  • internal/controller/metal3.io/baremetalhost_controller.go
  • internal/controller/metal3.io/baremetalhost_controller_test.go

@elfosardo

Copy link
Copy Markdown

/retest

@elfosardo

Copy link
Copy Markdown

/approve

@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: elfosardo, jacob-anders

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 Jul 24, 2026
@jacob-anders jacob-anders changed the title Add servicing annotation downstream [WIP] Add servicing annotation downstream Jul 24, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 24, 2026
Comment thread apis/metal3.io/v1alpha1/hostupdatepolicy_types.go Outdated
Comment thread apis/metal3.io/v1alpha1/baremetalhost_types.go Outdated
@jacob-anders
jacob-anders force-pushed the add-servicing-annotation-downstream branch from 79d2271 to 522f9c2 Compare July 28, 2026 01:13
@jacob-anders jacob-anders changed the title [WIP] Add servicing annotation downstream Add servicing annotation downstream Jul 28, 2026
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 28, 2026
@jacob-anders

Copy link
Copy Markdown
Author

/test e2e-metal-ipi-serial-ipv4

@dtantsur

Copy link
Copy Markdown
Member

@jacob-anders three requests please:

  1. Attach a valid jira and ensure you can do pre-merge validation
  2. Try to move downstream addition as far as possible from the upstream code. Ideally, to separate files (openshift.go).
  3. Whatever has to be interleaved with upstream code, please mark it with very explicitly (check for existing bits)

@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

🧹 Nitpick comments (1)
apis/metal3.io/v1alpha1/baremetalhost_types.go (1)

58-60: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Keep the downstream-only constant in a dedicated OpenShift file.

ServiceAnnotationPrefix is explicitly OpenShift-specific but is added to the shared upstream API file. Move this declaration to a dedicated *_openshift.go file in the same package to keep downstream additions isolated and reduce rebase/upstream maintenance cost.

🤖 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 `@apis/metal3.io/v1alpha1/baremetalhost_types.go` around lines 58 - 60, Move
the OpenShift-specific ServiceAnnotationPrefix declaration out of the shared
baremetalhost_types.go file into a dedicated *_openshift.go file in the same
package. Preserve its exported name, value, and documentation so downstream
consumers retain the existing API while upstream definitions remain isolated.
🤖 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 `@internal/controller/metal3.io/service_annotation_openshift_test.go`:
- Around line 58-77: Update the servicing test around the reconciliation calls
to inspect the fixture or provisioner action history, rather than relying only
on the host.Status.PoweredOn snapshots. Assert that no power-off or reboot
action was requested throughout servicing, while preserving the existing
completion and annotation-clearing assertions.

---

Nitpick comments:
In `@apis/metal3.io/v1alpha1/baremetalhost_types.go`:
- Around line 58-60: Move the OpenShift-specific ServiceAnnotationPrefix
declaration out of the shared baremetalhost_types.go file into a dedicated
*_openshift.go file in the same package. Preserve its exported name, value, and
documentation so downstream consumers retain the existing API while upstream
definitions remain isolated.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: da1be154-1e98-413b-ad6e-f8391ec48418

📥 Commits

Reviewing files that changed from the base of the PR and between 522f9c2 and 99d16db.

📒 Files selected for processing (4)
  • apis/metal3.io/v1alpha1/baremetalhost_types.go
  • internal/controller/metal3.io/baremetalhost_controller.go
  • internal/controller/metal3.io/service_annotation_openshift.go
  • internal/controller/metal3.io/service_annotation_openshift_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • internal/controller/metal3.io/baremetalhost_controller.go

Comment on lines +58 to +77
// Servicing should start without powering off
tryReconcile(t, r, host,
func(host *metal3api.BareMetalHost, result reconcile.Result) bool {
return host.Status.OperationalStatus == metal3api.OperationalStatusServicing
},
)

// Host should remain powered on during servicing
assert.True(t, host.Status.PoweredOn)

// Servicing completes, annotation is cleared
tryReconcile(t, r, host,
func(host *metal3api.BareMetalHost, result reconcile.Result) bool {
_, exists := host.Annotations[metal3api.ServiceAnnotationPrefix]
return host.Status.OperationalStatus == metal3api.OperationalStatusOK && !exists
},
)

// Host should still be powered on
assert.True(t, host.Status.PoweredOn)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Assert that no power-off action was requested.

The two PoweredOn snapshots do not prove a reboot never occurred between reconciliations. Instrument the fixture or provisioner call history and assert that servicing completed without a power-off/reboot request.

🤖 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 `@internal/controller/metal3.io/service_annotation_openshift_test.go` around
lines 58 - 77, Update the servicing test around the reconciliation calls to
inspect the fixture or provisioner action history, rather than relying only on
the host.Status.PoweredOn snapshots. Assert that no power-off or reboot action
was requested throughout servicing, while preserving the existing completion and
annotation-clearing assertions.

@jacob-anders jacob-anders changed the title Add servicing annotation downstream METAL-1918: Add servicing annotation downstream Jul 29, 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 Jul 29, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 29, 2026

Copy link
Copy Markdown

@jacob-anders: This pull request references METAL-1918 which is a valid jira issue.

Details

In response to this:

Summary by CodeRabbit

  • New Features

  • Added support for service annotations that trigger servicing on provisioned hosts without requiring them to power off first.

  • Service annotations are cleared after successful servicing while the host remains powered on.

  • Suffixed service annotations are recognized and preserved for continued processing.

  • Bug Fixes

  • Service annotations are retained when hosts are not yet provisioned or lack a servicing policy.

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.

@jacob-anders

Copy link
Copy Markdown
Author

@jacob-anders three requests please:

1. Attach a valid jira and ensure you can do pre-merge validation

2. Try to move downstream addition as far as possible from the upstream code. Ideally, to separate files (`openshift.go`).

3. Whatever has to be interleaved with upstream code, please mark it with very explicitly (check for existing bits)

All good points. Should be addressed now, will have one last look once CI is finished and should be good for final review/premerge.

@jacob-anders

Copy link
Copy Markdown
Author

/test e2e-metal-ipi-ovn-ipv6

jacob-anders and others added 2 commits July 30, 2026 14:46
…thout reboot

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jacob-anders
jacob-anders force-pushed the add-servicing-annotation-downstream branch from ac22ef7 to 418c386 Compare July 30, 2026 04:48
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jacob-anders
jacob-anders force-pushed the add-servicing-annotation-downstream branch from 418c386 to 529abec Compare July 30, 2026 06:24
When an older Ironic that does not support the allow_grouping_reboots
step argument is used with batched firmware updates, the servicing
request fails asynchronously with "unexpected arguments:
allow_grouping_reboots". Detect this specific error and replace it
with a clear Metal3 error message advising the user to upgrade Ironic
or update components individually. Do not retry, since the same
request will fail the same way.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci

openshift-ci Bot commented Jul 31, 2026

Copy link
Copy Markdown

@jacob-anders: 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-metal-ipi-ovn-ipv6 3401ffa link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-metal-ipi-virtualmedia 3401ffa link true /test e2e-metal-ipi-virtualmedia

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants