-
Notifications
You must be signed in to change notification settings - Fork 293
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
Fixes #31257 - support incremental update for debs #10847
base: master
Are you sure you want to change the base?
Conversation
8ea6acf
to
0e2b9cc
Compare
0e2b9cc
to
74ee0ac
Compare
For test reason I implement the changes manually on my test system and a first test was successfull, though the hammer cli output was the same as before:
But in the GUI the added package is seen now. It would be nice when the CLI output could be corrected. I would appreciate a quick merge into the next possible release branch :-D |
Mind doing a rebase to get it back up to speed with the main branch? |
74ee0ac
to
2de0bc3
Compare
@ianballou rebase is done While testing, I saw that NOK (hammer): |
@ianballou |
@martux69 folks have been busy fixing bugs and prepping for the latest Foreman and Katello release. Plus once we got close to the 4.14 branching, we didn't want to introduce anything that would risk stability. Broken nightlies means skipped testing, which is no fun. Now that we're branched though, we should be able to get it in soon. The changes aren't too complicated. |
One corner case that comes to mind that needs testing is incrementally updating a content view version with both Debs and RPMs. |
Thanks for the information |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've discovered a bug. I haven't determined why, but the changes here are causing content view publishing to fail. Specifically, it's triggering the following error:
The repository's publication is missing. Please run a 'complete sync' on Zoo.
The change that likely caused this is how debs are now being added to the repo mapping for multi-copy workflows.
Here's the reproducer setup:
- Sync https://jlsherrill.fedorapeople.org/fake-repos/needed-errata/
- Sync https://fixtures.pulpproject.org/debian and use the ragnarok Release/Distribution
- Create a content view with both repositories that has dependency solving enabled.
- This is crucial to reproducing the issue -- without dependency solving enabled, the CV publish succeeds.
- Create an RPM filter that only includes
walrus
-noarch
- less that version 5 - Create a deb filter that only includes one of the packages (like
frigg
) - Publish the content view
Hopefully the steps above reproduce it in your environment. There may be a simpler reproducer out there, but it's hard to say until we know what's going wrong.
I confirmed that removing these changes and republishing creates a working content view version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found an issue when incrementally adding packages and debs together. The debs and packages requested do get added, but all of the remaining debs in my test repo got added even when trying to add only one of them.
To test it, I filtered out all of the debs but one in the test repo, and tried adding back only one of the other debs via hammer. The result was that 3 debs were added instead of one.
It appears that incrementally adding RPMs still works as expected. |
2de0bc3
to
cfb7476
Compare
elsif separated_repo_map[:pulp3_yum_multicopy].keys.flatten.present? | ||
plan_action(Repository::MultiCloneToVersion, separated_repo_map[:pulp3_yum_multicopy], version) | ||
else | ||
if separated_repo_map[:pulp3_deb_multicopy].keys.flatten.present? | ||
plan_action(Repository::MultiCloneToVersion, separated_repo_map[:pulp3_deb_multicopy], version) | ||
end | ||
if separated_repo_map[:pulp3_yum_multicopy].keys.flatten.present? | ||
plan_action(Repository::MultiCloneToVersion, separated_repo_map[:pulp3_yum_multicopy], version) | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ianballou That was the problem. It only did MultiCloneToVersion on either deb or yum, when it has to run for both.
Should be fixed now.
Thanks for testing that was a nice catch 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Publishing with dependency solving is working again, awesome.
I'm still seeing an issue with extra debs being pulled in during the incremental update. Instead of just the one deb I want, all of the missing debs get pulled in.
@ianballou, sorry for the delay.
I only had this behaviour when using |
cfb7476
to
9e9f5be
Compare
... and I found the issue for that 😎 Katello/hammer-cli-katello#960 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working great! Do you mind if we wait to merge until we're out of stabilization week and Katello 4.15 is branched?
What are the changes introduced in this pull request?
Support copying of deb-packages in incremental Update of ContentViews .
Considerations taken when implementing this change?
Adding deb-packages does not support dependency-solving. Trying to do that will fail the incremental update.
#10734 ensures the dependency-solving option is ignored for deb-packages/-repositories.
What are the testing steps for this pull request?
No UI support; use the Content_view_versions / incremental_update REST-API endpoint for testing: