Bug 2034804 - Document (un)supported combinations of CV filters and dependency solving
Summary: Document (un)supported combinations of CV filters and dependency solving
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Documentation
Version: 6.10.0
Hardware: x86_64
OS: Linux
high
medium
Target Milestone: Unspecified
Assignee: Ian Fowler
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-12-22 08:22 UTC by Pavel Moravec
Modified: 2022-05-19 09:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-05-19 09:09:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SATDOC-697 0 None None None 2022-03-18 11:38:54 UTC

Description Pavel Moravec 2021-12-22 08:22:45 UTC
Document URL: 
https://access.redhat.com/documentation/en-us/red_hat_satellite/6.10/html-single/content_management_guide/index#Managing_Content_Views-Defining_Content_Filters

https://access.redhat.com/documentation/en-us/red_hat_satellite/6.10/html-single/content_management_guide/index#Managing_Content_Views-Resolving_Package_Dependencies


Section Number and Name: 
7.7. Content Filter Overview
and
7.8. Resolving Package Dependencies


Describe the issue: 
Currently, the text implies all combinations of include/exclude filters and/or depSolve are supported and all of them will produce "expected" results. Which is not correct, as:
1) combining include and exclude filters itself (regardless of depSolving) can have some undesired results in some use cases (I dont recall details, but I do recall some customer issues around); we should review if the "Include and Exclude Filter Combinations" paragraph is really correct.
2) enabling dependency solving has several gotchas:
  a) it does not work well with exclude filters (exclude feature and "include more for dependency" feature are opposite, and the way how we concurrently apply them lead to VERY unpredictable outcome, in general)
  b) even with include filters or without any filter, dep.solving attempts to resolve missing dependency by adding *newest* package that fulfills the dependency requirement - that is a crucial "yum, update me as high as possible, please" feature of RPM-land. This sometimes leads to outcome unexpected to the user ("why such newest package was added, if that dependency was already resolved by some older version of the package, already included in the CV?")
  c) even with just include filters or without any filter, dependency solving on CV still can produce a CV content that can hit dependency conflicts during yum/dnf update (esp. due to b) factor) - we should stress that "dnf update" is not a proof of CV depsolving functionality (but to be fair, we should postulate what *is* such a proof depsolving is working well)

TL;DR: we need to:
- have a table of supported/unsupported/maybe-working-but-the-devil-is-in-details combinations of include+exclude+depsolving combinations
- clarify expected outcome of the filters or depsolving, per above points

While bz2031096 (or some related bug) will be meant to disallow unsupported combinations in WebUI, this BZ stands for explanation of that stuff in our doc.


Suggestions for improvement: 
See above

Additional information: 
Ideally, we should update doc for all (supported) versions. Anyway doing so for 6.10 or newer is imho sufficient (there can be differences between 6.8-6.9 and 6.10 due to pulp-3, which would add too much doc work for a low price).


Note You need to log in before you can comment on or make changes to this bug.