Issue #4518
closedModules are not copied during recursive copy of modular errata
Description
Concern¶
The behavior in 2.18.1 is incorrect for modular errata copy which could affect Katello.
The correct behavior is now seen, recently, in 2-master.
Verified incorrect behavior with Tanya.
Chronology¶
A regression in test_modular_copy.py [0] was noted in nightly [1] once libsolv [2] was resolved by pcreech (thanks!) on 3/3/2019 in #4405.
Upon looking through the newly delivered modular documentation [3], it appears that that current behavior in 2-master is correct and the behavior test_modular_copy.py and resulting behavior in 2.18.1-stable is incorrect (and has been since Sept 2018 [0]).
The test was originally written and approved without the understanding of the modulemd copies needed as part of the errata.
Please note the CLI examples below for comparisons between 2.18.1 and latest 2-master for all permutations of --recursive and --recursive-conservative through the CLI.
Test Update¶
The test with the correct modular errata copy behavior check [4] is already submitted and awaiting development designation of problem scope before implementing into test repositories.
Until then, we have a known, failing test in nightly.
2.18.1 Behaviors (since Sept 21 2018 - 2.18.1-GA) [incorrect]¶
--recursive¶
[root@rhel76-218 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
--recursive-conservative¶
[root@rhel76-218 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive-conservative
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
Both¶
[root@rhel76-218 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive-conservative --recursive
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
2.19 Behaviors (testable since libsolv issues were resolved on ~3/1) [correct]¶
--recursive¶
[root@rhel76-219 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
modulemd:
duck-0-20180730233102-deadbeef-noarch
kangaroo-0-20180730223407-deadbeef-noarch
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
--recursive-conservative¶
[root@rhel76-219 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive-conservative
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
modulemd:
duck-0-20180730233102-deadbeef-noarch
kangaroo-0-20180730223407-deadbeef-noarch
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
Both¶
[root@rhel76-219 ~]# pulp-admin rpm repo copy errata --str-eq="errata_id=RHEA-2012:0059" --from-repo-id=test --to-repo-id=new --recursive-conservative --recursive
This command may be exited via ctrl+c without affecting the request.
[\]
Running...
Copied:
erratum:
RHEA-2012:0059
modulemd:
duck-0-20180730233102-deadbeef-noarch
kangaroo-0-20180730223407-deadbeef-noarch
rpm:
duck-0.7-1-noarch
kangaroo-0.3-1-noarch
Related issues
Added by milan almost 6 years ago
Updated by bherring over 5 years ago
- Description updated (diff)
- Private changed from Yes to No
Updated by ttereshc over 5 years ago
- Priority changed from Normal to High
- Triaged changed from No to Yes
- Sprint set to Sprint 50
Updated by dalley over 5 years ago
Confirmed that it was fixed by https://github.com/pulp/pulp_rpm/pull/1237
Cherry picking that one commit on top of 2.18.1 results in test passage. Standard 2.18.1 reproduced the reported test failures.
Discussion about how to fix for the 2.18.z line ongoing on the list.
Updated by ttereshc over 5 years ago
- Subject changed from Behavior change for modular errata copy from 2.18.1 to current 2-master where 2.18.1-GA behaves incorrect to Modules are not copied during recursive copy of modular errata
- Status changed from NEW to MODIFIED
Updated by ttereshc over 5 years ago
For those who uses Pulp 2.18.x via Katello (likely 3.10), you should be fine, Katello is going to fix/workaround this problem on their side.
Updated by kersom over 5 years ago
- Related to Test #4548: Ensure modular_errata.py includes cases for --recursive and --recursive_conservative inline with document updates added
Updated by ttereshc over 5 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Updated by kersom over 5 years ago
- Tracker changed from Test to Issue
- Severity set to 2. Medium
- Triaged set to No
- Groomed set to No
- Sprint Candidate set to No
Introduce modular deps processing
Modulemd and modulemd_defaults are now exposed to the libsolv solver. This allows for the (inter-)modular dependencies to be processed when copying a unit. Bot the relaxed and conservative dependency processing algorithms work with the functionality this patch introduces.
Fixes #3740 https://pulp.plan.io/issues/3740