-
Notifications
You must be signed in to change notification settings - Fork 123
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
Fix depsolving bug where not all dependencies are copied #1730
Conversation
Attached issue: https://pulp.plan.io/issues/6820 |
@dkliban Would appreciate it if this bugfix can go into the release tomorrow -- Katello needs it. |
closes: #6820 https://pulp.plan.io/issues/6820 [nocoverage]
solvables_copied = run_solver_jobs(install_jobs) | ||
result_solvables.update(solvables_copied) | ||
# Depsolve using the list of unit install jobs, add them to the results | ||
solvables_copied = run_solver_jobs(install_jobs) |
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.
These changes mean that install_jobs[] is only ever going to be [] or, if we are-a module, [unit_install_job], and we will run_solver_jobs() every time throught the while-loop - am I reading that correctly?
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.
Hmm, no, I don't see why that would be the case? On either branch, the install job for the solvable that was popped is added to the list (lines 891 and 900), and on the module branch it includes all the artifacts as well.
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.
Ah I see, I wasn't reading the flow closely enough, thanks
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.
It is true that it will run run_solver_jobs
for each individual package being copied now, whereas before it was running it for all of them at once. That's what it did in Pulp 2 as well and what I was told by Igor Gnatenko it probably should do. I think by "installing" both of them at once it picks 5.21 which has no dependencies and neglects 0.71 entirely. There might be some hacks to get around that but I'd rather stick to what we know works until we have enough tests to start playing around with different ways to accomplish this with less overhead.
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.
Concur, I recall that discussion in the Pulp2 context
Test script
|
closes: #6820
https://pulp.plan.io/issues/6820