Releases: oamg/leapp-repository
Releases · oamg/leapp-repository
Release 0.11.0
Upgrade handling
Fixes
- Do not crash when the /root/temp_leapp_py3 directory exists (when upgrade is executed multiple times) (#534, rhbz#1858479)
- Do not detect grub device on the s390x architecture (ZIPL is used there) (#515)
- Consider the katello rpm being signed by Red Hat (#532)
- Omit printing grub binary data on terminal which could break terminal output (#491)
- Provide just a single remedition command in the pre-upgrade report to be compatible with Satellite and Cockpit (#540)
- Search repository files only in directories used by DNF (#525)
Enhancements
- Changed supported upgrade paths: RHEL-ALT 7.6 -> 8.2; RHEL 7.9 -> 8.2 (#509)
- Check whether PAM modules, that are not present on RHEL 8, are used (#533)
- Inhibit upgrade when local repositories (referred by file://) are detected (#531)
- Introduced actors for migration of Authconfig to Authselect (#533)
- Support for an in-place upgrade for z15 machines - s390x architecture (#537)
- Updated list of removed drivers on RHEL 8 (#530)
Additional changes interesting for devels
- Actor's private libraries and test files have been renamed following the new contribution guidelines (#500)
- Introduced the
CurrentActorMocked
class in the testutils library to simplify writing unit tests (#489) - Significant improvement of test execution performance (#500, #506)
- Updated production certificates for testing upgrades to RHEL 8.3 (Beta | HTB) (#509)
Related leapp framework release: https://github.com/oamg/leapp/releases/tag/v0.11.0
Release 0.10.0
Packaging
- Add dependency on python2-leapp and leapp-framework
- Add python-requests as dependency (#407)
- Drop leapp sos plugin (it's part of the sos rpm in RHEL 7.7+)
- Remove dependency on Jinja2 related packages (#407)
Upgrade handling
Fixes
- Do not mount pseudo and unsupposrted FS to overlayfs (e.g. proc)
- Evaluate PES events transitively to create correct data for the upgrade transaction
- Fix boot order on EFI systems
- Fix checking of kernel drivers (#400)
- Fix failures caused by local rpms added into the upgrade transaction
- Fix getting mount information with mountpoints with spaces in the path
- Fix handling of XFS without ftype for every such mounted FS
- Fix issue with random booting into old RHEL 7 kernel after the upgrade
- Fix issues on systems with statically mapped IPs in /etc/hosts
- Fix issues with device mapper and udev in a container
- Fix issues with failing rpm transaction calculation because of duplicate instructions for dnf
- Fix various issues related to RHSM (e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1702691)
- Fix yum repository scan in case of repositories with invalid URL
- Inhibit the upgrade if multiple kernel-devel rpms are installed
- Inhibit the upgrade when links on root dir '/' are not absolute to save the world
- Parse correctly kernel cmdline inside the initrd (#383) (fixes various issues on s390x)
- Print warnings instead of a hard failure when expected rpms cannot be found (e.g. python3-nss inside an rpm module) (#405)
- Remove java11-openjdk-headless during the upgrade (https://bugzilla.redhat.com/show_bug.cgi?id=1820172)
- Throw a nice error when invalid locale is set (#430)
Enhancements
- Add initial multipath support (it doesn't handle all cases yet)
- Changed upgrade paths: RHEL-ALT 7.6 -> 8.2; RHEL 7.8 -> 8.2
- Check if the latest installed kernel is booted before the upgrade
- Check that the system satisfies minimum memory requirements for the upgrade (#413)
- Dump
grub2-editenv list
output to help with issues related to the default kernel for the boot - Improved report related to KDE/GNOME
- Inhibit the upgrade for ipa-server (#481)
- Inhibit the upgrade on EFI systems when efibootmgr is not installed
- Inhibit the upgrade on FIPS systems
- Inhibit the upgrade when the raised dialogs are missing answers (#589)
- Introduce new ways of using custom repositories during the transaction
- Make report messages more explicit about Dialogs (#600)
- Migrate SpamAssassin
- Migrate cups-filters
- Migrate sane-backend
- Modify vim configuration to keep the original behaviour
- Report changes in wireshark
- Support the upgrade without the use of subscription-manager
- The name and baseurl field in the CustomTargetRepository message are optional now
- Use the new framework mechanism to inhibit the upgrade without reporting errors
- Various texts are improved based on the feedback
Additional changes interesting for devels
- Add new functions in the config library to get envars related to leapp
- Add support for testing with Beta and HTB systems
- LEAPP_SKIP_CHECK_OS_RELEASE has been renamed to LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE
- Provide info about kernel cmdline via KernelCmdline message
- The IPUConfig message contains information about booted kernel
- The code is mostly Py2/Py3 compatible now and all PRs are tested on Py2 and Py3 compatibility (linters, unit-tests)
- The config.version library contains is_rhel_alt() for detection of RHEL-ALT
Release 0.9.0
Packaging
- Added dependency on policycoreutils-python-utils & policycoreutils-python
Upgrade handling
Fixes
- Changed the title of the boot entry to be valid for ZIPL
- Do not remove packages which shall be installed/kept on target system (#345)
- Fix adding of local rpms into the upgrade transaction (#348)
- Fix check of active kernel modules (#330)
- Fix handling of XFS filesystems with ftype=0
- Fix ntp migration: extract configs into the right directories
- Fix traceback when RHSM is skipped
- Handle possible error when setting release on upgraded system
- No size limit on leapp.db in sosreport (#309)
- Require the biosdevname dracut module on the intel architecture only
- Retry some actions of subscription-manager on failure to reduce number of issues (#293)
- Upgrade only packages signed by Red Hat
Enhancements
- Add checkskipphase actor: skip to the report phase if inhibitor is produced to improve user experience and handle errors when we cannot work with target content
- Change upgrade path from RHEL(-ALT) 7.6 (EUS) to RHEL 8.1
- Check NSS configuration for use of wins or winbind
- Check SSSD configuration
- Check use of removed PAM modules
- Check whether CPU on s390x is supported on RHEL 8
- Enable and make possible upgrades on all architectures
- Enable repositories used for upgrade on the upgraded system
- Handle systems with EFI boot
- Handle upgrade on systems with multiple partitions
- Improve message on failed subscription-manager and dnf
- Improved the reporting capability
- Migrate SELinux customizations
- Process new PES data format + process PES events in order of releases
- Update the list of packages supposed to be removed during the upgrade
handling of errors related to work with target content
Additional changes interesting for devels
- Allow override the target version for devel purposes (#292)
- CI/CD - master builds begins with release number 100 instead of 1
- DEVEL_ONLY: Allow accepting unsigned pkgs
- Add new "Target*" phases into IPUWorkflow for work with target content during preparation phase
- Mass refactoring because of new reporting implementation
Release v0.8.1
Release v0.8.1
Upgrade handling
Fixes
- Do not install python2-tools (#290)
Enhancements
- Skip comments in repository mapping file
- Clean "to_remove" transaction file to reflect resolved problems with rich dependencies
Release v0.8.0
Release 0.8.0
Packaging
- fix invalid Source
- fix date usage to be compatible with BSD
- update the Makefile to be compatible with newer versions of COPR client
Upgrade handling
Fixes
- Add dependencies into the leapp_resume service to not run the FirstBoot phase too early
- Add missing dependency on python-udev & python3-udev
- Correctly remove installed packages based on PES data (#177)
- Do no traceback when dmi subsystem is not available
- Dracut: Ensure the $NEWROOT is set and used default otherwise
- Fix inhibition when ethX and additional network interfaces exist
- Fix parsing of /etc/fstab to handle lines without optional fields and ensure
the structure is right (#263) - Fix several issues when work with grubby
- Fix tests in several actors
- Force the new target kernel to be default boot entry (#274)
- Get also firewall facts from ip6tables
- Get correctly facts about selinux
- Handle the case when no target repositories has been found
- Ignore gpgcheck for upgrade repositories when we are instructed to set gpgcheck to False through the plugin config
- Report the full real path to bundled rpms as sometimes the paths have been broken when used symlinks
- Set additional rpms to remove explicitly during the upgrade as they break RPM transaction
- Use rhel8 systemd-nspawn to avoid removing of /etc/localtime and /etc/resolv.conf during the upgrade
Enhancements
- Add informational actors for: acpid, chrony, dosfstools, grep, irssi, postfix, powertop
- Add new actors to check tcp wrappers
- Added experimental actor to calculate the RPM upgrade transaction before the report phase (disabled by default now)
- Check OpenSSH configuration
- Check and handle vftpd configuration
- Check kernel drivers
- Check the system is subscribed and attached to an SKU to be able to get content for upgrade
- Enable the CRB repository when the Optional repository is enabled
- Enable upgrade only from RHEL 7.6
- Generate initeram disk on the fly
- Migrate NTP to chronyd
- Migrate brltty configuration
- Migrate sendmail
- Notify user when Red Hat-signed RPMs are installed from unkown repositories
- Set RHSM target release after the upgrade to expected version of the system
- User RHEL 8 RPM stack to calculate the upgrade rpm transaction to be able to process rpms with rich dependencies
Additional changes interesting for devels
- Add IPU Workflow configuration actor (#249)
- Add the dnfplugin library with functions for work with DNF
- Add the guards library with various guards usually used with the run function from stdlib
- Add the mounting library implementing an isolation view layer when work with containers and mounting
- Add the overlaygen library for genearating and cleaning of overlayfs
- Add the rpms library to simplify lookup of installed rpms
- Add the scanrhsm library for work with the subscription-manager tool
- Add the utils library with several handy functions
- Added shared config libraries for checking version of source and target system and architecture (minor version and architecture support)
- Code of various actors has been refactored to meet with pylint and contribution guidelines
- The dnfshellrpmupgrade actor has been renamed to dnfupgradetransaction
- The prepareupgradetransaction has been replaced by several other actors
Release v0.7.0
Packaging
- leapp-sos-plugin subpackage is licensed under the same license as the base package
- new dependencies: python3, python*-pyudev
Upgrade handling
- upgrade process is interrupted after RPMUpgradePhase and resumed with Python 3
- upgrade of NetworkManager is fixed
- name changes of network interfaces are handled
- upgrade of firewalld is handled
- leftover RHEL 7 packages are reported after the upgrade
- HTB repositories used for upgrades are replaced with the ones used for GA
- tpm2-abrmd and all packages that depend on redhat-rpm-config are removed during upgrade
- handling of the upgrade RPM transaction is improved
- sync command is used in initrd to avoid issues related to cache
- networking naming changes are handled
- disable udev's persistent network interface naming scheme when the only NIC is eth0
- inhibit upgrade when ethX is detected and more NICs exist
- check whether all target upgrade repositories are available
Logging and reporting
- output of dnf tool is always shown during the upgrade
- report with differences in Python between RHEL 7 and 8 is generated
- all logs and reports are stored in /var/log/leapp/ directory
Release v0.6.0
Change license from AGPL 3.0 to Apache 2.0
Upgrade handling
- udev database is accessible during the upgrade
- downtime of some machines is significantly reduced
- sos plugin is introduced for collecting data needed for debugging
- redhat-rpm-config package is removed during upgrade
- data files are required to be delivered by user manually
- system is checked for NFS filesystems usage and upgrade is inhibited when detected
- /boot is checked for sufficient free space
- upgrade is not inhibited any more when Logic SCSI Controllers are present
- repositories used to upgrade the system are based on provided data files
- specific syntax errors in grub configuration are handled when detected
- SCTP is handled during the upgrade
- migration of yum is handled (yum is available after upgrade)
- upgrade of NetworkManager is handled
- upgrades with XFS filesystems without ftype is handled better
- new reporting functionality is introduced and used
Refactoring
- run function from stdlib is used to execute external commands
Packaging
- new dependencies: python2-jinja2, pciutils, sos
- leapp-repository-data subpackage is removed (included data files)
- new directory /etc/leapp/files for data files is introduced
- python files are precompiled to avoid left over pyc files
Release v0.5.0
- Require DNF v4+ and Leapp framework v0.5.0 - Improved handling of RPM transaction using own DNF plugin and PES data - Models have been refactored to use new format supported by framework - Handle transaction preparation when release is set through RHSM - Fix failing overlayfs unmounting - Reduce the IPUWorkflo workflow - Include all required directories inside RPMs - Handle repositories using metalink and mirrorlist - Handle better installation of local RPMs - Move system dependencies into the RPM metapackage - Satisfy leapp and leapp-repository RPM dependencies during the upgrade
Release v0.4.0
- change hierarchy of repositories
- scan RHEL system for custom and 3rd-party packages
- improve error messages