We've been promising you to publish how you can upgrade your Foreman and Katello installations from EL7 to EL8, but didn't deliver so far. We're very sorry about this, but the good news is, as you're reading this, we have a guide for you!
Please have a look at these.
Configure the @theforeman/leapp
COPR Repository, which contains newer LEAPP packages than the ones shipped by AlmaLinux/ELevate and support upgrading Foreman/Katello:
# curl -o /etc/yum.repos.d/theforeman-leapp.repo https://copr.fedorainfracloud.org/coprs/g/theforeman/leapp/repo/epel-7/group_theforeman-leapp-epel-7.repo
Install required packages:
# yum install leapp leapp-repository leapp-data-centos
Add Foreman/Katello specific repositories to /etc/leapp/files/leapp_upgrade_repositories.repo
.
[leapp-foreman]
name=Foreman 3.2
baseurl=https://yum.theforeman.org/releases/3.2/el8/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
module_hotfixes=1
[leapp-foreman-plugins]
name=Foreman plugins 3.2
baseurl=https://yum.theforeman.org/plugins/3.2/el8/$basearch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
module_hotfixes=1
[leapp-puppet7]
name=Puppet 7 Repository el 8 - $basearch
baseurl=http://yum.puppetlabs.com/puppet7/el/8/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet7-release
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet7-release
enabled=1
gpgcheck=1
[leapp-katello]
name=Katello 4.4
baseurl=https://yum.theforeman.org/katello/4.4/katello/el8/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
enabled=1
gpgcheck=1
module_hotfixes=1
[leapp-katello-candlepin]
name=Candlepin: an open source entitlement management system.
baseurl=https://yum.theforeman.org/katello/4.4/candlepin/el8/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
enabled=1
gpgcheck=1
module_hotfixes=1
[leapp-pulpcore]
name=pulpcore: Fetch, Upload, Organize, and Distribute Software Packages.
baseurl=https://yum.theforeman.org/pulpcore/3.16/el8/$basearch/
gpgkey=https://yum.theforeman.org/pulpcore/3.16/GPG-RPM-KEY-pulpcore
enabled=1
gpgcheck=1
module_hotfixes=1
leapp-katello
, leapp-katello-candlepin
and leapp-pulpcore
.leapp-puppet7
entry accordingly (replacing 7
with 6
should work).Remove epel-release
as we don't support EL8 installations with EPEL8 enabled:
# yum remove epel-release
Let LEAPP analyze your system:
leapp preupgrade
It is expected for the first run not to succeed but report issues/inhibitors, continue to the next step for remediations.
Fix issues found by LEAPP (most probably the following, check /var/log/leapp/leapp-report.txt
for details):
# rmmod pata_acpi
# echo PermitRootLogin yes | tee -a /etc/ssh/sshd_config
# leapp answer --section remove_pam_pkcs11_module_check.confirm=True
preupgrade
aborts with a dependency resolution error (like package rubygem-fx-0.5.0-2.el8.noarch requires rubygem(railties) >= 4.0.0, but none of the providers can be installed
or package rubygem-railties-6.0.4.7-1.el8.noarch requires rubygem(thor) < 2.0, but none of the providers can be installed
), try:
dnf remove $(dnf repoquery --extras --exclude '*katello*' --exclude '*pulp*' --exclude '*localhost*' --exclude "*$HOSTNAME*" --exclude libmodulemd)
– check the output if it doesn't contain any of your own local packages. And yes, this command uses dnf
on EL7, as it can clean up things better than yum
.rubygem-thor
explicitly: yum remove rubygem-thor
Ensure leapp preupgrade
is happy now
Run the upgrade:
leapp upgrade
Reboot
After the reboot, a live system is booted that does the upgrade, followed by a reboot to fix SELinux labels, followed by a reboot into the final EL8 system
Once the system is booted, LEAPP will finish the upgrade, watch it with:
journalctl -u leapp_resume -f
Done
--disable-system-checks
, the very last step of the upgrade will fail, and you'll have to call foreman-installer --disable-system-checks
manually once the system is booted up. https://bugzilla.redhat.com/show_bug.cgi?id=2071553or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing