Skip to content

CLOS-4056: support no-auth (SWNG) repositories in ELevate#23

Open
prilr wants to merge 3 commits intocloudlinux:cloudlinuxfrom
prilr:clos-4056-no-auth
Open

CLOS-4056: support no-auth (SWNG) repositories in ELevate#23
prilr wants to merge 3 commits intocloudlinux:cloudlinuxfrom
prilr:clos-4056-no-auth

Conversation

@prilr
Copy link
Copy Markdown
Collaborator

@prilr prilr commented Apr 27, 2026

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.

prilr added 3 commits April 24, 2026 11:46
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 azheregelya self-requested a review April 27, 2026 18:11
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.

2 participants