Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding instructions for 9 to 10 upgrades #543

Merged
merged 3 commits into from
Jan 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/.vuepress/public/images/ELevate.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/.vuepress/public/images/ELevateNG.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
157 changes: 149 additions & 8 deletions docs/elevate/ELevate-NG-testing-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "ELevate NG Testing Guide"
---

###### last updated: 2024-12-10
###### last updated: 2024-12-19

# ELevate NG Testing Guide

Expand All @@ -11,8 +11,9 @@ Before beginning, we **HIGHLY** recommend that you follow system administration
:::

The ELevate NG supports a number of 3rd party repositories:
* EPEL support is currently available for upgrades to AlmaLinux OS only.
* Docker CE - for all supported operating systems.
* EPEL support is currently available for upgrades to AlmaLinux OS.
* EPEL support is also available for upgrades to AlmaLinux OS 10.0 beta. lease, note, that the support works only for those packages from EL 9 that are currently available for EL 10. Unavailable packages from EL 9 will remain on the system after the upgrade.
* Docker CE - for all supported operating systems including AlmaLinux OS 10.0 beta.
* MariaDB - for all supported operating systems.
* Microsoft Linux Package Repositories - for all supported operating systems.
* nginx - for all supported operating systems.
Expand All @@ -26,10 +27,11 @@ You can add more 3rd party repositories support. See more on the [Contribute](/e

Currently, the following upgrade paths are available:

![image](/images/ELevate.svg)
![image](/images/ELevateNG.svg)

\* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the [known issues](#known-issues). <br>
\** - upgrading to Oracle Linux 9 is available with the [Oracle Leapp utility](https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp) and will not be supported by ELevate project.
\** - upgrading to Oracle Linux 9 is available with the [Oracle Leapp utility](https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp) and will not be supported by ELevate project.<br>
\*** - Upgrade to AlmaLinux OS 10 is only available to the version **10.0 Beta**. Currently, it doesn't have support x86_64_v2.


## Upgrade CentOS 7 to AlmaLinux 8
Expand Down Expand Up @@ -87,7 +89,7 @@ Currently, the following upgrade paths are available:
* A new entry in GRUB called `ELevate-Upgrade-Initramfs` will appear. The system will be automatically booted into it.
See how the upgrade process goes in the console.

* After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrading them manually.
* After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing them or upgrading them manually.
```
cat /etc/redhat-release
cat /etc/os-release
Expand Down Expand Up @@ -217,14 +219,127 @@ After these preparations are completed, you can upgrade your AlmaLinux 8 machine
* A new entry in GRUB called `ELevate-Upgrade-Initramfs` will appear. The system will be automatically booted into it.
See how the upgrade process goes in the console.

* After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrade them manually.
* After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing them or upgrade them manually.
```
cat /etc/redhat-release
cat /etc/os-release
rpm -qa | grep el8
sudo cat /var/log/leapp/leapp-report.txt
sudo cat /var/log/leapp/leapp-upgrade.log
```

## Prepare the system for upgrade to AlmaLinux 10

When successfully upgraded to AlmaLinux 9 OS, consider performing these steps to prepare your system for upgrading to AlmaLinux 10:

* Navigate to the **/etc/** directory and use an editor of your choice to edit the **yum.conf** file. You need to remove everything from the **exclude** line especially that refers to elevate or leapp.

##### An example of yum.conf file:
```bash
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
exclude=python2-leapp,snactor,leapp-upgrade-el8toel9,leapp
```

* Then navigate to the */etc/dnf/* directory and use an editor of your choice to do the same in the **dnf.conf** file.
* Now you can remove/manually upgrade packages left from AlmaLinux 8 without any conflicts.
* Check packages left from AlmaLinux 8:
```
rpm -qa | grep el8
```
An example output with a list of packages:
```
kernel-modules-4.18.0-553.32.1.el8_10.x86_64
leapp-0.18.0-2.el8.noarch
leapp-data-almalinux-0.5-1.el8.20241127.noarch
kernel-core-4.18.0-553.32.1.el8_10.x86_64
kernel-4.18.0-553.32.1.el8_10.x86_64
python3-leapp-0.18.0-2.el8.noarch
leapp-upgrade-el8toel9-0.21.0-4.el8.elevate.5.noarch
```
As mentioned above, consider removing these packages or upgrading them manually to proceed with the upgrade to AlmaLinux 10.

:::tip
If you face difficulties while removing the packages, the following command might help you:
```
sudo rpm -e --nodeps <package_name>
```
:::

* You can also check for the packages left from the upgrade process and remove them:
```
rpm -qa | grep elevate
rpm -qa | grep leapp
```
* Check whether you have the */root/tmp_leapp_py3* directory created and if so delete it.
```
sudo rm -fr /root/tmp_leapp_py3
```
* Clean up your machine.
```
sudo dnf clean all
```

After these preparations are completed, you can upgrade your AlmaLinux 9 machine to AlmaLinux 10.

## Upgrading AlmaLinux 9 to AlmaLinux 10

:::warning
This upgrade is currently in development and testing. The main goals are to deliver working `leapp-data` and `leapp-repository` packages needed for the upgrade and to be able to upgrade to AlmaLinux OS 10 successfully. This upgrade is not recommended for production machines.
:::

* Install ELevate NG version repo config for AlmaLinux 9:
```
sudo curl -o /etc/yum.repos.d/elevate-ng.repo https://repo.almalinux.org/elevate/testing/elevate-ng-el$(rpm -E %rhel).repo
```
* Import ELevate GPG key:
```
sudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate
```
* Install leapp packages and upgrade data for AlmaLinux which is target OS:
```
sudo yum install -y leapp-upgrade leapp-data-almalinux
```

* Start a preupgrade check. In the meanwhile, the Leapp utility creates a special */var/log/leapp/leapp-report.txt* file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

:::warning
Preupgrade check will fail as the default install doesn't meet all requirements for the upgrade.
:::

```
sudo leapp preupgrade
```

This summary report will help you get a picture of whether it is possible to continue the upgrade.

:::tip
In certain configurations, Leapp generates */var/log/leapp/answerfile* with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.
:::

* Currently, the direct upgrade from Almalinux OS 9 to AlmaLinux OS 10.0 Beta goes smoothly. If there is a progressive upgrade from CentOS 7 to AlmaLinux OS 10.0 Beta, please check the [known issues](#known-issues) section.

* Start an upgrade. You'll be offered to reboot the system after this process is completed.
```
sudo leapp upgrade
sudo reboot
```

* A new entry in GRUB called `ELevate-Upgrade-Initramfs` will appear. The system will be automatically booted into it.
See how the upgrade process goes in the console.

* After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing them or upgrade them manually.
```
cat /etc/redhat-release
cat /etc/os-release
rpm -qa | grep el9
sudo cat /var/log/leapp/leapp-report.txt
sudo cat /var/log/leapp/leapp-upgrade.log
```

## Demo Video

Expand All @@ -242,7 +357,33 @@ Upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. You can
rm -rf /usr/share/redhat-release /usr/share/doc/redhat-release
```

### Progressive upgrade to AlmaLinux 10.0 Beta

If the system has been progressively upgraded from CentOS 7, the following issues appear after the preupgrade check when upgrading AlmaLinux 9 to AlmaLinux 10.0 Beta. The issues can be found in the generated `/var/log/leapp/leapp-report.txt` file.
* "Deprecated DHCP plugin configured" inhibitor.
* To mitigate the "Deprecated DHCP plugin configured" inhibitor, run:
```
# sudo nmcli conn migrate
# sudo nmcli connection modify <connection_name> ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
# sudo sed -i'.bak' 's/^dhcp=dhclient//g' /usr/lib/NetworkManager/conf.d/10-dhcp-dhclient.conf
# sudo systemctl restart NetworkManager
```
* After that, verify the networking configuration:
```
# NetworkManager --print-config
```
* "dracut module 'network-legacy' cannot be found or installed." error.
* To fix this issue delete the drop-in:
```
# sudo rm -f /etc/dracut.conf.d/50-network-legacy.conf
```
* Before rebooting, make sure you have a working main console. You will probably need to check the `/etc/default/grub`. An example of the console-related settings:
```
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="console=ttyS0,115200 console=tty0"
```

## Get Help

Report your feedback to [AlmaLinux ~Migration Channel](https://chat.almalinux.org/almalinux/channels/migration). We're especially interested in packages left from previous OS versions. This information will allow us to improve ELevate's configuration files.
Report your feedback to [AlmaLinux ~Migration Channel](https://chat.almalinux.org/almalinux/channels/migration). We're especially interested in packages left from the previous OS versions. This information will allow us to improve ELevate's configuration files.