Skip to content

Fix microshift-bootc Konflux build: add pkg_managers to skip rpm prefetch#10636

Open
pruan-rht wants to merge 4 commits into
openshift-eng:openshift-4.20from
pruan-rht:fix-microshift-bootc-pkg-managers
Open

Fix microshift-bootc Konflux build: add pkg_managers to skip rpm prefetch#10636
pruan-rht wants to merge 4 commits into
openshift-eng:openshift-4.20from
pruan-rht:fix-microshift-bootc-pkg-managers

Conversation

@pruan-rht
Copy link
Copy Markdown
Contributor

Summary

  • build-microshift-bootc Eliminate use of master direct & as fallback #295 fails at prefetch-dependencies: hermeto requires rpms.lock.yaml but none exists
  • Root cause: doozer auto-adds {"type":"rpm"} to cachi2 input because enabled_repos are defined, but RPMs are installed via dnf install at build time, not prefetched via cachi2
  • Fix: add pkg_managers: [gomod] under content.source to explicitly control prefetch types, matching the pattern used by other images (e.g. cluster-etcd-operator)

Error from build #295

ERROR LockfileNotFound: Required files not found: rpms.lock.yaml
hermeto fetch-deps command failed: exit status 13

Test plan

  • Retrigger build-microshift-bootc for 4.20.23 assembly and verify prefetch-dependencies succeeds
  • Verify gomod prefetch still works correctly

🤖 Generated with Claude Code

The build-microshift-bootc Konflux pipeline fails because hermeto
requests rpm prefetch in strict mode but no rpms.lock.yaml exists.
Doozer auto-detects enabled_repos and adds type:rpm to cachi2 input,
but skips lockfile generation since the RPM install list is empty
(RPMs are installed via dnf at build time, not prefetched).

Adding pkg_managers: [gomod] tells doozer to only request gomod
prefetch, matching the pattern used by other images like
cluster-etcd-operator.

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

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 17, 2026

[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 rhdmalone 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

pruan-rht added 3 commits May 17, 2026 14:29
pkg_managers alone did not prevent RPM prefetch — doozer's
konflux_image_builder adds RPM type based on group-level
lockfile.force, ignoring pkg_managers. Override at image level
to prevent rpms.lock.yaml requirement.

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

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Doozer's is_lockfile_generation_enabled() checks
config.konflux.cachi2.lockfile.enabled, not lockfile.force.
Previous commit used wrong field name.

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

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Disabling lockfile also disables repo injection into hermetic
build, causing dnf install to fail with no enabled repos.
Instead, list the RPMs that the Containerfile installs so doozer
can generate rpms.lock.yaml properly.

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

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
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.

1 participant