CLOS-4056: support no-auth (SWNG) repositories in ELevate#23
Open
prilr wants to merge 3 commits intocloudlinux:cloudlinuxfrom
Open
CLOS-4056: support no-auth (SWNG) repositories in ELevate#23prilr wants to merge 3 commits intocloudlinux:cloudlinuxfrom
prilr wants to merge 3 commits intocloudlinux:cloudlinuxfrom
Conversation
Support the no-auth (SWNG mirrorlist) CL8 source repo and CL9 target repos so ELevate can route CloudLinux packages correctly when the source system has been migrated away from the CLN channel scheme. repomap.json.el9: - Add source pesids for CL8 side: cl-channel (SWNG mirrorlist), plus the CLN-era fragmented pesids cloudlinux8-baseos/-appstream/-powertools/-elevate for mixed-state systems. - Add target pesid cloudlinux9-channel (repoid cl-channel) for the full CL9 SWNG mirrorlist, and keep cloudlinux9-baseos/-appstream as narrower static-CDN targets. - Wire the source->target mappings. leapp_upgrade_repositories.repo.el9: - Enable [cl-channel] via the CL9 SWNG mirrorlist as the primary CL target during upgrade. - Enable [cloudlinux9-baseos] and [cloudlinux9-appstream] as backup static targets. Remove [cloudlinux9-crb] and [cloudlinux9-elevate] (no such paths exist on repo.cloudlinux.com).
Mirror the el9 changes on the el8 side. CL8 is being migrated to the no-auth (SWNG) scheme too, so CL7->CL8 upgrades also need CL8 no-auth repos enabled at migration time and a cl-channel target pesid to route packages to the full SWNG mirror. leapp_upgrade_repositories.repo.el8: - Enable [cl-channel] (CL8 SWNG mirrorlist) as the primary CL target. - Enable [cloudlinux8-baseos], add [cloudlinux8-appstream] and [cloudlinux8-powertools] (static CDN slices, backups for the mirror). - Keep [cloudlinux8-elevate] enabled as before. repomap.json.el8: - Add cloudlinux8-channel target pesid (repoid cl-channel, major_version 8). - Prepend cloudlinux8-channel to the target list for the CL7 sources (cloudlinux-base, cloudlinux-updates, cloudlinux-hybrid-updates, cloudlinux-extras) and append it as a fallback for cloudlinux-elevate.
During a real leapp upgrade from CL8, the existing /etc/yum.repos.d/cl.repo
(with repoid cl-channel) is carried into the target 'upgrade' container
alongside our /etc/leapp/files/leapp_upgrade_repositories.repo, which also
defined a [cl-channel] stanza. dnf then saw two definitions of the same
repoid and the 'A YUM/DNF repository defined multiple times' inhibitor
fired, blocking the upgrade.
Rename our stanzas to [cloudlinux8-channel] / [cloudlinux9-channel] (same
SWNG mirrorlist URLs) and update the matching pesid entries in
repomap.json.{el8,el9} so the repoid fields line up. The source-side
cl-channel pesid is untouched — it still matches the runtime cl-channel
repoid on the source CL8 system.
azheregelya
approved these changes
Apr 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Some actors in the current CL leapp-repository make assumptions about CLN channel availability that will no longer hold after the no-auth repo migration.
This PR is a part of a set that address that issue by making it possible to upgrade a machine using no-auth repos only without CLN-related operations.