Skip to content

CLOS-4056: leapp-data support for no-auth CloudLinux repository scheme#24

Open
prilr wants to merge 4 commits intocloudlinux:cloudlinuxfrom
prilr:CLOS-4056
Open

CLOS-4056: leapp-data support for no-auth CloudLinux repository scheme#24
prilr wants to merge 4 commits intocloudlinux:cloudlinuxfrom
prilr:CLOS-4056

Conversation

@prilr
Copy link
Copy Markdown
Collaborator

@prilr prilr commented Apr 30, 2026

Adds the leapp-data configuration for the no-auth repo scheme that is rolling out for CL8 and CL9.

The new repo configs and maps define the new scheme for Leapp to pull packages from.

Now that CLN channel is no longer the main source, the core of the upgrade process is defined entirely in leapp-data with no custom config manipulations required on the leapp-repository side.

The leapp-repository PR cloudlinux/leapp-repository#58 adjusts the CLN-related actors correspondingly.

prilr added 4 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.
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