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

Update AlmaLinux to upstream 0.19 #101

Closed
wants to merge 105 commits into from

Conversation

prilr
Copy link
Collaborator

@prilr prilr commented Mar 5, 2024

No description provided.

Aleksandr Kravchenko and others added 30 commits July 26, 2021 17:13
Leapp expects distribution version to be X.Y but CentOS doesn't have 
minor version in /etc/os-release. This commit fixes major version 
detection for CentOS
No need for them in source system
Leapp expects distribution version to be X.Y but CentOS doesn't have 
minor version in /etc/os-release. This commit fixes major version 
detection for CentOS
No need for them in source system
Otherwise packages from SCLs aren't recognized and ignored in certain
actions (like "to_remove" filtering in FilterRpmTransactionTasks).
* Add the initial implementation of third-party integration

* Add vendors' PES events parsing

* Add vendors dir existence checks

* Add a testing deployment script

* Remove references to target system type selector

* Correct the copying in deployment script

* Vendor list handling in PES actor

* Trace-level logging for vendor repomaps

* Repomap additional logging

* Deployment script touch-up: base on cloudlinux branch

* Make PES events scanner accept empty event lists

* Add a test case for empty PES file

* Add missing file to the deployment script

* Add information about the vendors mechanism to README

* Create an additional deployment script for non-CL cases

* Create the vendors.d folder with the generic deployment script

* Update deployment scripts

* Clarifications to the README file related to repositories

* Fix the deployment script not having the correct path

* Implement vendor package signature loading

* Additional logging for the vendor activation

* Accept multiple active vendor lists if present

* Fix the ActiveVendor loading in vendor signature scanner

* Add the new channel-swtich file to deployment script

* Produce custom repofile messages for vendor repofiles

* Remove unneeded FactsPhase sets

* Simplify the package signature check

* Reorder the FactsPhase to make sure signed package scanner receives data

* Target 3rd_parties' version of signed package scanner

* Fix vendor signature comparsion

* Allow for multiple RepositoriesMap messages to be processed

* Changed actor execution order to provide vendor repo data

* Fix the dnfplugin str encode errors

* Revert "Fix the dnfplugin str encode errors"

This reverts commit ddcbbf5.

* Fix the dnfplugin str encode errors (without introducing platform-dependent functions)

* Some clarifications in README about vendors.d

* Move a "successful read" message to debug category

* Switch encode handling to version independent of six version

* Add docstrings to new actors

* Remove script files from the repository

Co-authored-by: Aleksey Petryankin <[email protected]>
Update to leapp-repository 0.16.0
Update the third-party functionality to work with the new upstream code
…m them (#7)

* Add AlmaLinux, EuroLinux, Oracle, Rocky keys and allow to migrate from them

* Use 8.5 version for CentOS for now
…y functionality (#10)

* Handle multiple repomapping messages in setuptargetrepos actor

* Update README with information relevant to latest update

* Add a link to PES video demonstration
andrewlukoshko and others added 26 commits May 25, 2023 18:57
…lmaLinux#73)

* Create a Sentry client if a destination was provided in the config

* Use the exposed actor tracebacks in Sentry logging

* Handle failing to import the Raven lib

* Pass inhibitors to Sentry as well

* Minor corrections

* Remove f-string usage

* Add logging of data sent to Sentry

* Report pre-upgrade errors and inhibitors as well

* Add requirements for Raven (Sentry)
* Remove bad virtualenv invocation in the makefile which causes conflicting deps

* Provide repository to handle WP Toolkit

Handle the upgrade of the third-party WP Toolkit software when it is
detected. Currently, this only works for installations done through
the cPanel control panel, but the framework for providing support can be
extended to a standalone installation if the WP Toolkit software comes
to support this in the future.

The support will not be activated unless the accompanying `wp-toolkit`
vendor, defined in the `leapp-data` repository, is available and active.

* Add test for wptoolkitfacts.

Also rearranges the guts of rpms.py common library, as I wanted
the actual data instead of just a bool "hey is this here" check.

Since all consumers don't care about list order, having this
actually be ordered shouldn't break anything to move from set
to list.

* Cleanup package_data_for

---------

Co-authored-by: Andy Baugh <[email protected]>
* Replace f-string with format to restore py2 compatibility

* Revert "Add optional Sentry logging for actor errors and upgrade inhibitors (AlmaLinux#73)"

This reverts commit 1c79cc0.
…nux#82)

* Log actor errors with message correctly

* Add problematic rubygem packages to the workaround script
…RLs due to the releasever variable (AlmaLinux#83)

* Replace releasever with major version in rollout repositories directly

* Add tests for rollout repo actor

* Move common package repository functions to a library

* Rework tests for the new approach

* Correct is_rollout_repository

* Bring default backup dir in line with type
Previously when the deprecation data got introduced the kernel drivers
reported to be used by lspci have not been checked.
This patch fixes this regression.

Signed-off-by: Vinzenz Feenstra <[email protected]>
In a previous patch, the introduction of the new handling of deprecation
data, 2 problems slipped through.

1. The regex replacement for pci ids errornous adds an empty space
   instead of empty string
2. Drivers should be matched on lspci output against the driver
   deprecation data only if the pci_id is empty

Signed-off-by: Vinzenz Feenstra <[email protected]>
Preserve blacklisted certificates during the IPU 8 -> 9

Path for the blacklisted certificates has been changed on RHEL 9.
The original paths on RHEL 8 and older systems have been:
    /etc/pki/ca-trust/source/blacklist/
    /usr/share/pki/ca-trust-source/blacklist/
However on RHEL 9 the blacklist directory has been renamed to 'blocklist'.
So the paths are:
    /etc/pki/ca-trust/source/blocklist/
    /usr/share/pki/ca-trust-source/blocklist/
This actor moves all blacklisted certificates into the expected directories
and fix symlinks if to point to the new dirs if they originally pointed
to one of obsoleted dirs.

Covered cases:
- covered situations with missing dirs
- covered both mentioned blacklist directories
- update symlinks in case they point to one of obsoleted directories
- remove obsoleted directories when all files migrated successfully
- execute /usr/bin/update-ca-trust in the end
- remove original a blacklist directory in case all discovered files
  inside are migrated successfully
- print error logs in case of any issues so the upgrade does not
  crash in case of troubles and users could deal with problems
  manually after the upgrade

The actor is not covered by unit-tests as it's just a hotfix. Follow
up works are expected to extend the problem with reports during
preupgrade phases, improve the test coverage, ....

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2077432
Followup ticket: CRYPTO-7097
Added simple unit-test for default grub info to see the valid lines
can be parsed as expected.
Since RHEL 8, the kernel|kernel-rt rpm is just a metapackage that even
does not have to be installed on the system.
The kernel-core|kernel-rt-core rpm is the one we care about instead.
On RHEL 8+ the `kernel` package was split into multiple
packages including `kernel-core`. The `kernel` package is just a
placeholder there and might not be installed.

The `kernel-rt` package was split similarly.

Let's scan for `kernel-core` and (`kernel-rt-core` on RHEL Real Time)
instead which should always be present.

Jira ref.: OAMG-8383
Add EuroLinux to the list of distributions, where grub config should …
These files are provided by leapp-data packages in the AlmaLinux scheme.
Copy link

github-actions bot commented Mar 5, 2024

Thank you for contributing to the Leapp project!

Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergable.
If you want to re-run tests or request review, you can use following commands as a comment:

  • leapp-ci build to run copr build and e2e tests in OAMG CI
  • review please to notify leapp developers of review request

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 consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra.

@prilr prilr changed the base branch from almalinux to almalinux-ng March 5, 2024 10:29
@prilr prilr closed this Apr 10, 2024
@prilr prilr deleted the almalinux-0.19 branch August 30, 2024 04:10
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.