This is me taking my “not far enough” comment in Proposal: Merging foreman pipelines with pipelines of other plugins - #2 by ekohl and making it its own RFC.
Context
Today we have 3 RPM repositories:
- foreman
- foreman-plugins
- katello
Each needs the one above it and each has its own pipeline. So we have these pipelines set up in Jenkins:
foreman-$release-rpm-pipeline
(like foreman-nightly-rpm-pipeline [Jenkins])foreman-plugins-$release-rpm-pipeline
(like foreman-plugins-nightly-rpm-pipeline [Jenkins])katello-$release-rpm-pipeline
(like katello-nightly-rpm-pipeline [Jenkins])luna-nightly-rpm-pipeline
(like luna-nightly-rpm-pipeline [Jenkins])
Some notes:
- foreman-plugins doesn’t run actual end-to-end tests, just checks repoclosure
- katello uses katello version numbers which are different from Foreman, requiring a mapping
- luna is katello with additional plugins enabled
Technically the sources are also split in packaging (see foreman-packaging/packages at rpm/develop · theforeman/foreman-packaging · GitHub)
Proposal
The proposal is to merge all packages tat are now in katello and move them into plugins.
Open topics
There are some issues we need to discuss and I don’t have good answers to all of them. IMHO they are blockers, but I think if we resolve them well this will be a benefit for both users and maintainers.
katello-repos
Some technical implications: today the katello-repos
package contains the katello repo definition, which becomes obsolete but also the Pulp and Candlepin repository definitions. I think it’ll be a lot of overhead if we include those for all users, but for repoclosure we’ll need candlepin-selinux
because katello-selinux
depends on it.
pipelines
We’ll also need to decide on the pipelines to run. If we combine all of them, we can’t release any plugins when Katello is broken. IMHO this is acceptable if we commit to resolving issues quickly.
GPG signing
Today plugins isn’t GPG signed, but katello is. This is weird because what do GPG signatures on your package mean if its dependencies are unsigned? Feature #4788: Plugin rpms not signed - Packaging - Foreman has also been open over almost 11 years. Perhaps it’s a good excuse to start this.