Bug #36690
closedUnclear error message when disabling last repo of a product that is in a sync plan
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2048805
Description of problem:
When disabling Red Hat repositories on Satellite, Katello will try to remove the product altogether if the given repository is the last member of its respective product to be enabled on Satellite.
If the product is in a sync plan, Katello will also try to remove the product from the sync plan.
However, if the sync plan contains also other products that are no longer on Satellite, then an error message pops up while disabling the repository, stating it failed to add a product to Satellite. It's really confusing.
Version-Release number of selected component (if applicable):
satellite-6.10.2-1.el7sat.noarch
foreman-2.5.2.18-3.el7sat.noarch
katello-4.1.1-3.el7sat.noarch
How reproducible:
100% of the time given the preconditions are met.
Steps to Reproduce:
1. Have a Satellite with multiple Red Hat products enabled and a sync plan including all those products.
2. Disable all repos of one of those products but cause some failure to remove the product from the sync plan.
3. Disable all repos of another one of those products.
Actual results:
When disabling the last repo of the second product -- which would cause an update to the sync plan -- an error will pop up saying something like:
Validation failed: Can not add product Red Hat Enterprise Linux Server - Extended Life Cycle Support because it is disabled.
...and the ForemanTasks task enters paused-error state.
Expected results:
If an error is happening due to a sync plan operation, the pop up message should specify that the issue is happening at that level, not the "disable repository" level.
I'd also say the repository should not fail to be disabled from Satellite if its respective product can be removed from the sync plan. Maybe the action could finish with a Stopped-Warning state/result instead of ending in Paused-Error.
Additional info:
The fact that the error message says it failed because it was unable to add a product when we're trying to disable a repository. This is absolutely confusing.