Skip to content

AGENT-1491: reclaim disk space from the node when IRI resource is deleted#5988

Open
andfasano wants to merge 1 commit into
openshift:mainfrom
andfasano:iri-reclaim-storage
Open

AGENT-1491: reclaim disk space from the node when IRI resource is deleted#5988
andfasano wants to merge 1 commit into
openshift:mainfrom
andfasano:iri-reclaim-storage

Conversation

@andfasano
Copy link
Copy Markdown
Contributor

@andfasano andfasano commented May 4, 2026

- What I did
This patch adds a new behavior to IRI MCD manager to reclaim the disk space on the control plane in case of IRI removal (this happens when the user decides to opt-out from the feature).
Also, this patch adds the necessary Claude skill files to provide more context for the code generation of the specific new behavior.

- How to verify it
Deploy an OCP cluster using the OVE ISO, then delete the IRI resource (this requires a previous upgrade)

- Description for the changelog
Reclaim disk space on node when the InternalReleaseImage resource is deleted.

Summary by CodeRabbit

  • New Features

    • Graceful cleanup of local registry storage when the InternalReleaseImage is deleted; improved handling while deletion is in progress.
  • Bug Fixes

    • Fixed registry host/port address formatting for broader network compatibility.
  • Tests

    • Added scenarios covering deletion with active vs. inactive registry and a deletion-timestamp test helper.
  • Documentation

    • Added acceptance criteria and workflow docs for feature-disabled and storage-reclaim behaviors.
  • Chores

    • Added a configurable default for the local registry data path.

@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

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 4, 2026

@andfasano: This pull request references AGENT-1491 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

- What I did
This patch adds a new behavior to IRI MCD manager to reclaim the disk space on the control plane in case of IRI removal (this happens when the user decides to opt-out from the feature).
Also, this patch adds the necessary Claude skill files to provide more context for the code generation of the specific new behavior.

- How to verify it
Deploy an OCP cluster using the OVE ISO, then delete the IRI resource (this requires a previous upgrade)

- Description for the changelog
Reclaim disk space on node when the InternalReleaseImage resource is deleted.

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 4, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

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 an exported IRIRegistryDataPath constant and extends the InternalReleaseImage manager to detect prior feature activation, probe registry liveness, handle IRI deletion (wait while registry active; reclaim storage when down), centralize registry client/auth logic, adjust host:port formatting, and add tests and acceptance docs.

Changes

IRI Deletion and Storage Reclamation

Layer / File(s) Summary
Data Shape / Constants
pkg/daemon/constants/constants.go
Adds IRIRegistryDataPath = "/var/lib/iri-registry".
Acceptance Criteria / Skill
pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/*
Adds BDD skill metadata and acceptance docs for feature-disabled and storage-reclaim behaviors.
Manager Field
pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
Adds registryDataPath string field to Manager (test override).
Registry Host/Port Formatting
pkg/daemon/internalreleaseimage/iriregistry.go
Uses net.JoinHostPort(...) for registryHostPort; adds net import.
Feature Detection
pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
Adds wasFeatureActivated() to check existence of registry data dir (override or constant).
Registry Probe & Client
pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
Adds getIRIRegistry() to build registry client and read auth token; adds isRegistryPortListening() to TCP-dial registry port.
Deletion Handling & Reclaim
pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
Adds handleIRIDeletion() to requeue while registry port is listening or to cleanup MCN status and call reclaimRegistryStorage(); adds reclaimRegistryStorage() to safely remove directory contents with validation.
Sync Flow Update
pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
syncInternalReleaseImage now short-circuits when feature never activated, routes missing/deleting IRI to handleIRIDeletion, and centralizes registry availability/error handling.
Tests / Helpers
pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go, pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go
Adds withDeletionTimestamp() helper; tests use per-case registryDataPath (temp dir or non-existent), add skipRegistryDirSetup, write sentinel data, and include deletion-in-progress and deletion-complete scenarios validating reclaim behavior.
sequenceDiagram
    actor Reconciler as Reconciler Loop
    participant Manager as IRI Manager
    participant Registry as Local Registry (TCP 22625)
    participant MCN as MachineConfigNode
    participant Storage as Local Storage (/var/lib/iri-registry)

    Reconciler->>Manager: syncInternalReleaseImage()
    alt feature never activated (no registry dir)
        Manager-->>Reconciler: short-circuit, long requeue
    else IRI present and active
        Manager->>Registry: getIRIRegistry() / isRegistryPortListening()
        Manager-->>MCN: refresh status or set degraded
    else IRI missing or DeletionTimestamp set
        Manager->>Registry: isRegistryPortListening()
        alt port listening
            Registry-->>Manager: connection ok
            Manager-->>Reconciler: requeue (wait for shutdown)
        else port not listening
            Manager->>MCN: cleanup IRI status
            Manager->>Storage: reclaimRegistryStorage()
            Storage-->>Manager: storage reclaimed
            Manager-->>Reconciler: complete
        end
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 9 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Microshift Test Compatibility ⚠️ Warning New e2e tests use MicroShift-unavailable APIs (ClusterVersion, Infrastructure, MachineConfigNode, InternalReleaseImage). Tests lack required MicroShift protection mechanisms. Add [apigroup:config.openshift.io] or [apigroup:machineconfiguration.openshift.io] tags to tests, or add exutil.IsMicroShiftCluster() checks with g.Skip().
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning New e2e tests at line 182 build URLs with fmt.Sprintf("https://%s:%d/v2/", ipAddr, ...) which fails on IPv6 addresses. Must use net.JoinHostPort() to add brackets for IPv6 compatibility. Use net.JoinHostPort(ipAddr, port) instead of fmt.Sprintf("%s:%d", ipAddr, port) in pingIRIRegistry function to properly handle IPv6 addresses with brackets.
✅ Passed checks (9 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: reclaiming disk space when the IRI resource is deleted, which is the primary objective of this PR.
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 All six test case names are static, hardcoded strings with no dynamic content. No timestamps, UUIDs, node names, pod names, or IP addresses. Test names will remain stable across runs.
Test Structure And Quality ✅ Passed Tests meet quality requirements: single responsibility per case, proper cleanup with t.TempDir/defer, no cluster interaction (uses fakes), assertions have messages, follows codebase patterns.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests added. PR contains only unit tests, constants, documentation, and manager code. SNO check not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR contains no scheduling constraints. Code manages local node storage (MCD daemon) with no pod affinity, nodeSelectors, topology logic, or workload manifests. Works across all topologies equally.
Ote Binary Stdout Contract ✅ Passed PR contains no process-level stdout writes. All logging via klog/fmt.Errorf is within methods only. No main/init/TestMain/suite setup functions added.

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

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

@openshift-ci openshift-ci Bot requested review from bfournie and djoshy May 4, 2026 14:15
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: andfasano
Once this PR has been reviewed and has the lgtm label, please assign umohnani8 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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md`:
- Line 1: The heading "IRI feature enabled" is inverted for a file that
documents the disabled path; update the top-level heading to clearly indicate
the disabled scenario (e.g., change "IRI feature enabled" to "IRI feature
disabled" or an equivalent phrasing) so the document title matches the
acceptance scenario and removes ambiguity; edit the line containing the heading
string "IRI feature enabled" in this file to the corrected text.

In `@pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go`:
- Around line 108-135: The tests for deletion cases need to assert filesystem
side-effects of reclaimRegistryStorage rather than only MCN status: update the
two cases ("IRI deletion in progress - registry still active" and "IRI deleted -
registry down") to create a real file under the test's registryDataPath before
invoking the manager and then assert after reconciliation that when
setupRegistry returns a healthy /v2 response the file still exists, and when
registryDisabled==true (registry down) the file is removed; use the existing
FakeIRIRegistry and the test helpers (machineConfigNode, iri, registryDataPath,
reclaimRegistryStorage) to create the file, invoke the same reconcile path used
by the other tests, and verify presence/absence of the file as the primary
assertion in each case in addition to the existing MCN status checks.
- Around line 143-149: The test never exercises the "feature disabled" branch
because t.TempDir() always creates tempDir; adjust the setup so
skipRegistryDirSetup yields a non-existent directory: when
tc.skipRegistryDirSetup is true, either remove the created tempDir
(os.RemoveAll(tempDir)) or set registryDataPath to a non-created subpath (e.g.,
filepath.Join(tempDir, "nonexistent")) so that the code using registryDataPath
in the test (variables tempDir, skipRegistryDirSetup, registryDataPath in
internalreleaseimage_manager_test.go) sees a missing directory and the branch is
actually exercised.

In `@pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go`:
- Around line 479-485: The notInstalled() helper currently treats any os.Stat
error as "not installed"; change it so only os.IsNotExist(err) returns true. In
Manager.notInstalled, call os.Stat(registryDataPath) and: if err == nil return
false (exists); if os.IsNotExist(err) return true; for any other err return
false (treat as installed) and preferably emit a warning via the Manager logger
(e.g., i.logger or i.log) so permission/IO errors are visible instead of
silently skipping cleanup.
- Around line 518-520: The cleanup path leaves a stale top-level degraded
condition because cleanupMachineConfigNodeStatus() currently returns early when
Status.InternalReleaseImage.Releases is empty; update
cleanupMachineConfigNodeStatus to still clear the
MachineConfigNodeInternalReleaseImageDegraded condition (the same condition set
by setMachineConfigNodeAsDegraded()) even when Releases is empty — i.e., remove
the early-return, detect the degraded condition on the node's top-level status,
and explicitly remove/clear that condition (and persist the node status update)
so opt-out always clears the degraded flag.
🪄 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: 5e778840-3130-4843-b6d9-bbe7b7f99913

📥 Commits

Reviewing files that changed from the base of the PR and between 7eef4fd and a57161e.

📒 Files selected for processing (8)
  • pkg/daemon/constants/constants.go
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/storage-reclaim.md
  • pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go
  • pkg/daemon/internalreleaseimage/iriregistry.go

Comment thread pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go Outdated
Comment thread pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
@andfasano
Copy link
Copy Markdown
Contributor Author

/test ?

@andfasano
Copy link
Copy Markdown
Contributor Author

/test e2e-agent-compact-ipv4-iso-no-registry

@andfasano andfasano force-pushed the iri-reclaim-storage branch from a57161e to 2b55ac8 Compare May 4, 2026 17:26
@andfasano
Copy link
Copy Markdown
Contributor Author

/retest-required

@andfasano
Copy link
Copy Markdown
Contributor Author

/test e2e-agent-compact-ipv4-iso-no-registry

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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)
pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go (1)

143-145: ⚡ Quick win

Make reclaim assertion resilient to directory removal.

This check assumes the directory still exists. Reclaim logic may validly remove the whole directory, so this can become brittle. Prefer asserting the sentinel file is gone (or accept os.IsNotExist).

♻️ Suggested patch
-				entries, err := os.ReadDir(registryDataPath)
-				assert.NoError(t, err)
-				assert.Empty(t, entries, "Storage should be reclaimed when registry is down")
+				testFile := filepath.Join(registryDataPath, "test-data.txt")
+				_, err := os.Stat(testFile)
+				assert.True(t, os.IsNotExist(err), "Storage should be reclaimed when registry is down")
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go` around
lines 143 - 145, The current assertion using os.ReadDir(registryDataPath)
assumes the directory exists; change the check so it accepts either the
directory being removed or empty by handling os.ReadDir errors: if os.ReadDir
returns an error, assert that errors.Is(err, os.ErrNotExist) (or
os.IsNotExist(err)), otherwise assert no entries; alternatively, check for a
specific sentinel file under registryDataPath (e.g.,
filepath.Join(registryDataPath, "<sentinel>")) and assert that os.Stat on that
sentinel returns os.ErrNotExist. Update the test around the
os.ReadDir(registryDataPath) call and the subsequent assert.Empty to implement
this resilient logic referencing registryDataPath and the os.ReadDir/os.Stat
result.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md`:
- Line 34: Fix the typo in the SKILL.md section header by changing the heading
text "Test implentation notes" to "Test implementation notes" in the file
SKILL.md (look for the exact header string "Test implentation notes" to locate
the line).

---

Nitpick comments:
In `@pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go`:
- Around line 143-145: The current assertion using os.ReadDir(registryDataPath)
assumes the directory exists; change the check so it accepts either the
directory being removed or empty by handling os.ReadDir errors: if os.ReadDir
returns an error, assert that errors.Is(err, os.ErrNotExist) (or
os.IsNotExist(err)), otherwise assert no entries; alternatively, check for a
specific sentinel file under registryDataPath (e.g.,
filepath.Join(registryDataPath, "<sentinel>")) and assert that os.Stat on that
sentinel returns os.ErrNotExist. Update the test around the
os.ReadDir(registryDataPath) call and the subsequent assert.Empty to implement
this resilient logic referencing registryDataPath and the os.ReadDir/os.Stat
result.
🪄 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: c16aaace-8e5f-425a-a3f0-816d1dbfdc8e

📥 Commits

Reviewing files that changed from the base of the PR and between a57161e and 2b55ac8.

📒 Files selected for processing (8)
  • pkg/daemon/constants/constants.go
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/storage-reclaim.md
  • pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go
  • pkg/daemon/internalreleaseimage/iriregistry.go
✅ Files skipped from review due to trivial changes (4)
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/storage-reclaim.md
  • pkg/daemon/constants/constants.go
  • pkg/daemon/internalreleaseimage/iriregistry.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go

Comment thread pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md Outdated
@andfasano andfasano force-pushed the iri-reclaim-storage branch from 4a10ade to 9f33795 Compare May 4, 2026 18:55
@andfasano
Copy link
Copy Markdown
Contributor Author

/test e2e-agent-compact-ipv4-iso-no-registry

Comment thread pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go Outdated
Comment thread pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go Outdated

klog.V(2).Infof("Removed registry data path: %s", path)
}

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.

Should the base directory /var/lib/iri-registry also be removed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That's a very good question. I preferred not to remove it since MCD does not technically own it (it's created by the Assisted Installer during the installation). On the other hand, it's also true that we don't support re-enabling the feature once removed, so maybe it could be a safer option

@andfasano andfasano force-pushed the iri-reclaim-storage branch from 9f33795 to 27197e0 Compare May 5, 2026 09:16
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 `@pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go`:
- Around line 552-560: The current logic in
i.wasFeatureActivated()/handleIRIDeletion treats a NotFound error from the
lister as an implicit delete and schedules destructive cleanup; change this so
IsNotFound does NOT count as an opt-out: update wasFeatureActivated to
distinguish NotFound from an explicit deletion signal (e.g., check for a
persisted flag on-disk or a previously observed deletionTimestamp/annotation)
and only return "wasActivated==false" when you have an explicit recorded
deletion or persisted state proving the IRI existed and was deleted; also update
handleIRIDeletion to ignore lister NotFound transient cache misses (do not call
queue.AddAfter/InternalReleaseImageInstanceName reclaim logic on IsNotFound) and
only proceed with reclamation when the explicit deletion indicator is present.
🪄 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: b4b98ab4-59dc-4d7c-b206-8d00eabb3c36

📥 Commits

Reviewing files that changed from the base of the PR and between 9f33795 and 27197e0.

📒 Files selected for processing (8)
  • pkg/daemon/constants/constants.go
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/storage-reclaim.md
  • pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
  • pkg/daemon/internalreleaseimage/internalreleaseimage_manager_test.go
  • pkg/daemon/internalreleaseimage/iriregistry.go
✅ Files skipped from review due to trivial changes (3)
  • pkg/daemon/internalreleaseimage/internalreleaseimage_helpers_test.go
  • pkg/daemon/internalreleaseimage/iriregistry.go
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/feature-disabled.md
  • pkg/daemon/internalreleaseimage/.claude/skills/iri-mcd/acceptance/storage-reclaim.md

Comment thread pkg/daemon/internalreleaseimage/internalreleaseimage_manager.go
@andfasano
Copy link
Copy Markdown
Contributor Author

/test e2e-agent-compact-ipv4-iso-no-registry

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

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

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.

3 participants