Rebase on upstream most recent version 0.23.0-3 (78640b665ca1c94c51b397cb35f9aac2f3cbb5c4)#151
Conversation
(cherry picked from commit 3fe0ed2)
When /boot is a separate partition, we bindmount what=/sysroot/boot to /boot, so that we can perform necessary checks when booting with FIPS enabled. However, the current solution contains incorrect unit dependencies: it requires sysroot-boot.target. There is no such target, and the correct value should be sysroot-boot.mount. This patch corrects the dependencies. (cherry picked from commit 2fb6bea)
Previously, multipath configs were scanned (and optionally) modified only for the 8>9 upgrade paths. Known backward-compatibility issues were fixed in the ApplicationsPhase, but any support for mounting multipath devices was lacking. This patch refactors the handling of multipath so that: 1) all multipath-related configs are copied into target uspace 2) any changes done in the ApplicationsPhase are performed to these copies instead 3) our modified multipath configs are included into the initramfs 4) dracut 'multipath' module is enabled when building upgrade initramfs 5) system configs are patched so that in the end they will look the same as if modified in the ApplicationPhase. This is achieved by simply copying our modified configs and replacing the old system ones. These changes avoid reaching into the config-parsing code. An ugly consequence of this is that some models (MultipathConfFacts8to9) needed to be placed into the common repository, although they are only used for 8>9 upgrades. To address this ugliness would require designing and producing a message that would contain the entire contents of the primary multipath config (if we want to avoid parsing it twice). Introduces new models / messages: * MultipathInfo * MultipathConfigUpdatesInfo jira-ref: RHEL-14712, RHEL-124306 (dev task) (cherry picked from commit 84b9fa4)
In checkrootsymlinks actor, remediation command did not include necessary double quotes, what makes the command syntactically incorrect and not able to apply. Jira: RHEL-30447 (cherry picked from commit 07e2ec2)
JIRA: RHELMISC-11596 (cherry picked from commit 2c1ecc2)
The relevant user LVM configuration is now copied into the target userspace container along with enabling LVM dracut module for upgrade initramfs creation. The LVM configuration is copied into the target userspace container when lvm2 package in installed. Based on the configuration, the devices file is also copied in when present and enabled. The --nolvmconf option used when executing dracut is changed into --lvmconf instead if the files are copied into the target userspace container. Jira: RHEL-14712 (cherry picked from commit 80169c2)
Our newly introduced handling of multipath in the upgrade initramfs has a bug when it tries to check whether multipath_info.config_dir exists. However, when multipath config does not exists, a default message with multipath_info.config_dir=None is produced, causing an unhandled exception. This patch fixes the issue. Moreover, an additional issue when updated configs are not *guaranteed* to be placed into the target uspace was discovered. (cherry picked from commit c960a70)
There are certain packages that are distribution specific and need to be replaced in the DNF upgrade transaction with their target distro counterpart when converting during the upgrade. For example the release and logos packages. Some packages, such as packages containing repository definitions or GPG keys, need to be removed without any replacement. This patch introduces a new convert/swapdistropackages actor to accomplish this. Currently only packages that need to be handled during CS->RHEL and AL->RHEL conversion are handled, however the actor contains a config dict to easily add more paths. Jira: RHEL-110568 (cherry picked from commit 5b3ccd9)
Signed-off-by: Daniel Diblik <ddiblik@redhat.com> (cherry picked from commit 78e2265)
The jquery.js file was not getting properly put into the build/html/_static/ directory. Removing this line seems to fix that. (cherry picked from commit 4ddf530)
Catch ModelViolationError when parsing sshd configuration files that contain invalid values for case-sensitive options like PermitRootLogin and UsePrivilegeSeparation. This change provides a clear error message explaining that arguments are case-sensitive and lists the valid values based on the model definition. Jira: RHEL-19247 (cherry picked from commit 4105452)
…_events() (cherry picked from commit f66867a)
(cherry picked from commit 0dce9ea)
(cherry picked from commit bdcd944)
(cherry picked from commit 6ab7f34)
(cherry picked from commit 8e02657)
(cherry picked from commit 9557e64)
(cherry picked from commit 5547c92)
(cherry picked from commit 1ec6ea8)
(cherry picked from commit e2be1ed)
(cherry picked from commit 82fd5e9)
The tests never covered the part where UpgradeInitramfsTasks have to get produced by the actor on 8->9. (cherry picked from commit d327f56)
The comment left there by ivasilev suggest that this could possibly be used on newer RHEL versions too. Let's leave commented out until it's confirmed it's not needed. (cherry picked from commit 418773c)
(cherry picked from commit 1ded7bc)
(cherry picked from commit 082863d)
(cherry picked from commit ece256f)
(cherry picked from commit a83309d)
(cherry picked from commit 656e301)
The name of the actor is kept for backwards compatibility. (cherry picked from commit c746806)
(cherry picked from commit f543432)
Originally the DNF modulestreams have been reset (and eventually set) just before the first RPM transaction calculation and before the actual execution of the transaction. The idea was that during download and dry-run the modulestreams are already reset - as originally it used the same "environment" (and possibly there have been other problems if the reset in the same environment is performed reundantly). However, after the OVL composition redesign [0], we create a disk image for every single partition (mounted file system) defined by FSTAB again, so any previous changes in modulestreams configuration are lost. This led to the situation that that actor reponsible for the download of packages for the RPM upgrade transaction downloaded a different set of packages than the set calculated later when the RPM transaction is performed. Nice example is having enabled php:8.2 modulestream on RHEL 8, which is present also on RHEL 9 systems. So the reset of the modulestreams expected to install (downgrade actually) to non-modularized php RPMs (initial calculation and execution of the transaction), but for the download of packages (and dry-run) has been expected to update packages to their php:8.2 counterpart on RHEL 9. This ended during RPMUpgrade transaction to the failure as packages expected for the installation has not been present and could not be downloaded (as the transaction is performed in offline state). There has been also identified and fixed issue with condition indentation, which casued execution of module resetting only for RHEL 9 target version. [0] OVL redesign PR: oamg#1097) Jira: RHEL-102361 (cherry picked from commit 63052c8)
By default, modules are disabled on RHEL 9 after the upgrade. However, there is a special case for PHP where the default version on RHEL 9 (php:8.0) is lower than the desired php:8.2 stream on RHEL 8. Without explicit handling, the PHP module would be disabled on the target system or downgraded. This actor checks if the php:8.2 module stream was enabled on the source RHEL 8 system and schedules it for enabling on the target RHEL 9 system via RpmTransactionTasks, preserving the same PHP version across the upgrade. (cherry picked from commit 81b8b72)
Originally if OSError is raised it ended with traceback due to invalid input argument when trying to log a warning. This has been fixed. In addition, in case of FileNotFoundError, just a debug log is created. This scenario is happening typically if the actor removing the squasfs file is executed multiple times - e.g. when running # /root/tmp_leapp_py3/leapp3 rerun FirstBoot Added unit-test to cover these scenarios correctly. Jira: RHEL-135847 (cherry picked from commit c1130c0)
Originally, if /var/lib/leapp has been mountpoint, the check raised FP inhibitor when the defined mountpoint in FSTAB has a traling slash: /var/lib/leapp/ Strip trailing slashes when checking defined FSTAB mountpoints. Jira: RHEL-42609 (cherry picked from commit 232ac2e)
The grub library has been used for all things related to booting,
including also utilities related to EFI and "partitions".
This patch splits the unrelated information grub library into multiple
dedicated libraries:
- grub - now only grub related utilities
- firmware - contains the is_efi and is_bios helpers
- firmware/efi - utilities related to EFI
- partitions - contains utilities related to partitions and devices, used by
both grub and efi
Functions in efi library now raise efi.EFIError instead of
StopActorExecutionError and StopActorExecution
Functions in the partitions library raises partitions.StorageScanError
exception instead of StopActorExecution.
(cherry picked from commit f7e50d9)
(cherry picked from commit ea0d4a5)
The function returns expected (default) canonical path for the default efi directory (the directory under /boot/efi/EFI/ where the usual EFI boot entry is supposed to be located) based on the specified linux distribution. E.g. for RHEL: /boot/efi/EFI/redhat The path might be incorrect on other distributions that are not covered correctly yet. In such a case, the default is: /boot/efi/EFI/redhat/<distro_id> (cherry picked from commit 28ab232)
The path to the EFI dir has been hardcoded just for RHEL. Obtain the expected canonical path to the default EFI boot entry dir from `leapp.libraries.common.distro.get_distro_efidir_canon_path` instead. (cherry picked from commit ef6b03d)
After an upgrade+conversion, the upgraded system might end up with an EFI boot loader entry from the source system pointing the shim or grub EFI binary from the source system. E.g. Centos Stream pointing to \EFI\centos\shimx64.efi instead of Red Hat Enterprise Linux pointing to \EFI\redhat\shimx64.efi. This patch introduces a new convert/updateefi actor that adds a new EFI boot entry for the target system with the correct EFI binary, removes the source system directory on ESP, e.g /boot/efi/EFI/centos, and finally removes the source system EFI boot entry (see below). This is handled for both x86_64 and aarch64 EFI systems. However, in case of IPU 8 -> 9 on ARM systems it's little bit conflicting with the existing fixes (the efi_reboot_fix library) which expects already to set the EFI boot entry for the next boot. We will need to look at it closer in future but partially it's resolved already. Additionally, if the source EFI directory is not empty (usually when it contains custom files), do not remove it and produce a post-upgrade report instead, instructing the user to review the content and handle it manually. This currently does not work with SecureBoot enabled. The problem probably is, in my understanding, that the shim and grub only contain keys for verifying signatures of the source distro. Our upgrade boot entry uses the target distros kernel, which is signed by the target distro. And so the shim/grub of the source distro rejects it. Jira: RHEL-133549 (cherry picked from commit d493740)
The EFI bootloader entry replacement during conversion, handled by the convert/updateefi actor, does currently not handle secure boot. This patch adds the convert/securebootinbihit actor that inhibits secureboot during conversion, regular upgrade is not affected. Jira: RHEL-133549 (cherry picked from commit f1d0e45)
In some VMs the Secure Boot is not supported even when UEFI is used. On such system the scanner has been failing constantly. Check the error properly and set secure boot to None in such a case. (cherry picked from commit ef13971)
Previously, number of functions raised StopActorExecution on errors or ignored them, deciding the logic inside the library instead of in actors. This could potentially lead to hidden problems and bugs for which we do not have a good explanation due to missing data. This has been happening mainly for `get_grub_devices()`. * `has_grub()` - raises OSError if cannot read from a given block device * `get_grub_devices()` - raises grub.GRUBDeviceError when cannot obtain devices hosting GRUB Also update actors calling `get_grub_devices()` to properly handle the situation. (cherry picked from commit 90c6c7c)
Introduce new model/message NVMEInfo containing information about
detected NVMe devices and basic configuration.
From the configuration it's loaded information about hostid and
hostnqn if defined. This configuration is mandatory for NVMe-oF
setups.
Devices are scanned directly from /sys/class/nvme/ directory, which
should contain information about all NVMe devices. The gathered
facts are limited to information important for the correct handling
of the IPU with NVMe devices - covering NVMe-FC.
Currently scanned information about each device:
* device name
* NVMe transport type
* sys_path (/sys/class/...) to the device definition
If any of the information is not possible to obtain just log an error
message and skip the device - the issue is theoretical and it's not
expected to happen in real. But leaving log messages so in case of
issues we leave visible clues.
Co-Authored-By: Michal Hecko <mhecko@redhat.com>
Jira-ref: RHEL-46807
(cherry picked from commit c1ad8f1)
Add a new actor that checks whether the system uses NVMe devices. These
can be connected using different transport technologies, e.g., PCIe,
TCP, FC, etc. Transports handled by the current implementation:
* PCIe (no special actions are required)
* Fibre Channel (FC)
When NVMe-FC devices are detected, the following actions are taken:
* dracut, dracut-network, nvme-cli, and some others packages are installed into initramfs
* /etc/nvme is copied into target userspace
* the nvmf dracut module is included into upgrade initramfs
* rd.nvmf.discover=fc,auto is added to the upgrade boot entry
* nvme_core.multipath is added to the upgrade and target boot entry
Conditions causing the upgrade to be inhibited:
* detecting a NVMe device using a transport technology different than PCIe or FC
that is used in /etc/fstab
* missing /etc/nvme/hostnqn or /etc/nvme/hostid when NVMe-FC device is present
* source system is RHEL 9+ and it has disabled native multipath
Co-Authored-By: Petr Stodulka <pstodulk@redhat.com>
Jira-ref: RHEL-46807
(cherry picked from commit a40abc6)
The udev rules provided by dracut's nvmf module (95-nvmf-initqueue.rules) use initqueue to trigger `nvme-cli connect-all`. This is problematic as initqueue might not be running when the udev event lands. Furthermore, the original rules use --onetime when calling initqueue, which is problematic as we are waiting for multiple devices that might not appear simultaneously. Therefore, we add an actor that replaces the original file with our own version that calls nvme-cli directly. Jira-ref: RHEL-46807 (cherry picked from commit 3b36d93)
Modify leapp's dracut module to insert a initqueue/finished hook that prevents dracut's initqueue from exiting until all block devices that are required (i.e. we generate mount units for them) are present in /dev/. Stalling initqueue allows us to reuse dracut's modules that handle enablement of different storage technologies such as NVMe over fabrics. Normally, the initqueue finished when root and /usr are mounted. However, during upgrade we want to mount all storage from /etc/fstab, some of which might be, e.g., NVMe over Fibre Channel. We want to reuse dracut's mechanism that enable such technologies, and, therefore, we prevent "early" termination of initqueue. Currently, the new stalling script "upgrade-mount-wait-check.sh" waits on all devices that can be found in our generated mount units except units that do not mount actual devices, or have 'bind' or 'rbind' in their options. Therefore, for the script to wait for a device, the corresponding mount unit must satisfy: 1) the What= property must start with /dev, i.e., What=/dev/... 1) the Options= field cannot contain the value 'bind' (this excludes also 'rbind') Co-Authored-By: Michal Hecko <mhecko@redhat.com> Jira-ref: RHEL-46807 (cherry picked from commit 580a428)
get_distro_efidir_canon_path() gets canonical path to the distro specific (rhel, almalinux, centos) EFI directory.
The tests are rewritten from the current_actor_context style to the usual unit test style. And a new test is added to check that the actor raises StopActorExecutionError when there is a failure in get_grub_devices(). Jira: RHEL-145872 (cherry picked from commit f68c36f)
The recent changes in leapp.libraries.common.partitions introduced the StorageScanError exception instead of silently raising StopActorExecution. This patch handles those at the call sites, including in actors and in shared libraries. Jira: RHEL-145872 (cherry picked from commit 90b33a4)
This is ugly hardcode fix, but to save a time so close to release, let's hardcode it into the deprecated list of SUPPORTED_VERSIONS. The proper fix is going to be addressed in the next release, together with the removal of this dict. (cherry picked from commit 46b4cc5)
Remove unsupported paths and related tests. Also add missing 8.10 -> 9.8 path. Jira: RHEL-108106 (cherry picked from commit ffd8b1e)
* Update PES data to cover changes in RHEL 9.8 and 10.2; including
updated events regarding tomcat & tomcat9 on rhel 10.2
(tomcat9 is EOL; so ignore it during the upgrade)
* Updated repomap.json:
* Update the list RHEL repositories
* Update add Almalinux repositories that have 1:1 mapping to RHEL/CS
* Details:
* The following repos have been added:
- Repo(pesid='rhel10-AppStream', major_version='10', repoid='appstream', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-AppStream', major_version='10', repoid='appstream', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-AppStream', major_version='10', repoid='appstream', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-AppStream', major_version='10', repoid='appstream', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-BaseOS', major_version='10', repoid='baseos', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-BaseOS', major_version='10', repoid='baseos', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-BaseOS', major_version='10', repoid='baseos', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-BaseOS', major_version='10', repoid='baseos', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-CRB', major_version='10', repoid='crb', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-CRB', major_version='10', repoid='crb', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-CRB', major_version='10', repoid='crb', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-CRB', major_version='10', repoid='crb', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='highavailability', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='highavailability', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='highavailability', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='highavailability', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-NFV', major_version='10', repoid='nfv', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-NFV', major_version='10', repoid='rhel-10-for-ppc64le-nfv-rpms', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='rhel')
- Repo(pesid='rhel10-NFV', major_version='10', repoid='rhel-10-for-s390x-nfv-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
- Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-ppc64le-rt-rpms', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='rhel')
- Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-s390x-rt-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
- Repo(pesid='rhel10-RT', major_version='10', repoid='rt', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-aarch64-sap-netweaver-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='rhel')
- Repo(pesid='rhel10-SAP-Solutions', major_version='10', repoid='rhel-10-for-aarch64-sap-solutions-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='rhel')
- Repo(pesid='rhel10-SAP-Solutions', major_version='10', repoid='rhel-10-for-s390x-sap-solutions-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
- Repo(pesid='rhel8-AppStream', major_version='8', repoid='appstream', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-AppStream', major_version='8', repoid='appstream', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-AppStream', major_version='8', repoid='appstream', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-AppStream', major_version='8', repoid='appstream', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-BaseOS', major_version='8', repoid='baseos', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-BaseOS', major_version='8', repoid='baseos', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-BaseOS', major_version='8', repoid='baseos', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-BaseOS', major_version='8', repoid='baseos', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-CRB', major_version='8', repoid='powertools', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-CRB', major_version='8', repoid='powertools', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-CRB', major_version='8', repoid='powertools', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-CRB', major_version='8', repoid='powertools', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-HighAvailability', major_version='8', repoid='ha', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-HighAvailability', major_version='8', repoid='ha', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-HighAvailability', major_version='8', repoid='ha', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-HighAvailability', major_version='8', repoid='ha', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-NFV', major_version='8', repoid='nfv', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel8-RT', major_version='8', repoid='rt', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-AppStream', major_version='9', repoid='appstream', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-AppStream', major_version='9', repoid='appstream', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-AppStream', major_version='9', repoid='appstream', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-AppStream', major_version='9', repoid='appstream', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-BaseOS', major_version='9', repoid='baseos', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-BaseOS', major_version='9', repoid='baseos', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-BaseOS', major_version='9', repoid='baseos', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-BaseOS', major_version='9', repoid='baseos', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-CRB', major_version='9', repoid='crb', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-CRB', major_version='9', repoid='crb', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-CRB', major_version='9', repoid='crb', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-CRB', major_version='9', repoid='crb', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-HighAvailability', major_version='9', repoid='highavailability', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-HighAvailability', major_version='9', repoid='highavailability', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-HighAvailability', major_version='9', repoid='highavailability', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-HighAvailability', major_version='9', repoid='highavailability', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-NFV', major_version='9', repoid='nfv', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-NFV', major_version='9', repoid='rhel-9-for-ppc64le-nfv-rpms', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='rhel')
- Repo(pesid='rhel9-NFV', major_version='9', repoid='rhel-9-for-s390x-nfv-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
- Repo(pesid='rhel9-RT', major_version='9', repoid='rhel-9-for-ppc64le-rt-rpms', repo_type='rpm', channel='ga', arch='ppc64le', rhui=None, distro='rhel')
- Repo(pesid='rhel9-RT', major_version='9', repoid='rhel-9-for-s390x-rt-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
- Repo(pesid='rhel9-RT', major_version='9', repoid='rt', repo_type='rpm', channel='ga', arch='x86_64', rhui=None, distro='almalinux')
- Repo(pesid='rhel9-SAP-NetWeaver', major_version='9', repoid='rhel-9-for-aarch64-sap-netweaver-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='rhel')
- Repo(pesid='rhel9-SAP-Solutions', major_version='9', repoid='rhel-9-for-aarch64-sap-solutions-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None, distro='rhel')
- Repo(pesid='rhel9-SAP-Solutions', major_version='9', repoid='rhel-9-for-s390x-sap-solutions-rpms', repo_type='rpm', channel='ga', arch='s390x', rhui=None, distro='rhel')
Co-authored-by: Yuriy Kohut <yura.kohut@gmail.com>
(cherry picked from commit 5337d23)
The package name is different, otherwise minor changes. Jira: RHEL-74265 (cherry picked from commit 91f37a3)
Conversions currently only work using custom repositories. There is a bug in the logic determining whether the inhibitor which is created if no base repositories were found in that it currently inhibits conversions if the target distro is other than RHEL. The bug doesn't affect RHEL as a target of either an upgrade or conversion because the inhibitor is not raised on RHEL target with custom repos in any case. This patch disables the inhibitor on all conversions. (cherry picked from commit d1df52f)
On CS8 the repofile layout is completely different from CS9, therefore no distro-provided repoids are found on the system. The upgrade can only be done with custom repos (or if the target repofiles are put on the source system before the upgrade). However, when using custom repositories only, the upgrade is inhibited because no base repositories are found. This patch disables the inhibitor on CS8->CS9 upgrades. (cherry picked from commit 28278b9)
…ux.repo' to almalinux 9-th _DISTRO_REPOFILES_MAP" This reverts commit f8898ca.
On AlmaLinux 9 there is no /etc/yum.repos.d/almalinux.repo config file, therefore no distro-provided repoids are found on the system. So the upgrade is inhibited because no base repositories are found. This patch disables the inhibitor on AlmaLinux 8->9 upgrades.
Thank you for contributing to the Leapp project!Please note that every PR needs to comply with the leapp-repository contribution and development guidelines and must pass all tests in order to be mergeable.
Packit will automatically schedule regression tests for this PR's build and latest upstream leapp build.
Note that first time contributors cannot run tests automatically - they need to be started by a reviewer. It is possible to schedule specific on-demand tests as well. Currently 2 test sets are supported,
See other labels for particular jobs defined in the Please open ticket in case you experience technical problem with the CI. (RH internal only) Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please contact leapp-infra. |
No description provided.