The first release candidate of Foreman 3.2.0 is now available for testing. Special thanks to everyone who contributed and taken part in making this release ready.
Please help by testing and getting it release-ready, and let us know if you hit any issue when upgrading or installing the release candidate either here or on our issue tracker .
There are likely still some updates needed in the installation instructions and other parts of the documentation.
I tested the 3.1 upgrade on CentOS 8 Stream on semi-production env, with foreman-ansible, foreman-webhooks, foreman_remote_execution and foreman-tasks installed. All went relatively smooth and the upgrade took ~30 minutes including the installer run, it’s a tiny instance though.
Questions and comments:
1) the dnf upgrade ruby\* foreman\* instruction failed with
Last metadata expiration check: 0:01:21 ago on Thu Feb 24 10:29:49 2022.
Error:
Problem 1: package rubygem-sqlite3-1.4.2-2.el8.x86_64 requires libruby.so.2.5()(64bit), but none of the providers can be installed
- cannot install both ruby-libs-2.7.3-136.module_el8.5.0+813+054ec265.x86_64 and ruby-libs-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64
- cannot install the best update candidate for package rubygem-sqlite3-1.4.2-2.el8.x86_64
- cannot install the best update candidate for package ruby-libs-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64
- package ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 is filtered out by modular filtering
- package ruby-libs-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64 is filtered out by modular filtering
Problem 2: package foreman-3.2.0-0.3.rc1.20220214174122git7ccb4f6.el8.noarch requires rubygem(net-ssh) = 4.2.0, but none of the providers can be installed
- cannot install both rubygem-net-ssh-5.1.0-2.el8.noarch and rubygem-net-ssh-4.2.0-3.el8.noarch
- cannot install both rubygem-net-ssh-4.2.0-3.el8.noarch and rubygem-net-ssh-5.1.0-2.el8.noarch
- cannot install the best update candidate for package rubygem-net-ssh-4.2.0-3.el8.noarch
- cannot install the best update candidate for package foreman-3.1.1-1.el8.noarch
Problem 3: problem with installed package rubygem-sqlite3-1.4.2-2.el8.x86_64
- package rubygem-sqlite3-1.4.2-2.el8.x86_64 requires libruby.so.2.5()(64bit), but none of the providers can be installed
- cannot install both ruby-libs-2.7.3-136.module_el8.5.0+813+054ec265.x86_64 and ruby-libs-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64
- package ruby-2.7.3-136.module_el8.5.0+813+054ec265.x86_64 requires ruby-libs(x86-64) = 2.7.3-136.module_el8.5.0+813+054ec265, but none of the providers can be installed
- cannot install the best update candidate for package ruby-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64
- package ruby-libs-2.5.5-105.module_el8.1.0+214+9be47fd7.x86_64 is filtered out by modular filtering
- package ruby-libs-2.5.9-107.module_el8.5.0+811+d98a1657.x86_64 is filtered out by modular filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
running that with --nobest helped, it seems besides the newer net-ssh in epel, we now have some issue with ruby-libs.
2) I’m not sure why I was asked to reset the Ruby 2.7 module, wasn’t the enabled already with 3.1?
3) as part of the process (running rake tasks) I’m seeing the apipie cache warning
API controllers newer than Apipie cache! Run apipie:cache rake task to regenerate cache.
should we mention that in upgrade instructions? Shoud we add a step to run foreman-rake apipie:cache. That indeed helps, but from the warning message, it may not be clear what command to run.
For the RPM modularity: we’re aware of some issues:
Some of that only showed up in the release repository. There we merge RPMs (to keep old versions) while in nightly we only have the latest versions. This has some effect on the metadata.
Once that works, we should update the installation / upgrade instructions.
As for the out of date apipie cache: it would be interesting to see what triggers it. This is the code that emits it:
If you can print the exact file (or files) that is out of date that could help narrow it down. It may be a packaging issue.
If you tell me how, happy to do that. However I already ran the task, so I guess there’s no more warnings. I don’t have other production like setup but if I see it with RC2, happy to test whatever command.