Project

Profile

Help

Issue #4518

Modules are not copied during recursive copy of modular errata

Added by bherring 9 months ago. Updated 4 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
Severity:
2. Medium
Version:
2.18.0
Platform Release:
2.19.0
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 50

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

Related to RPM Support - Test #4548: Ensure modular_errata.py includes cases for --recursive and --recursive_conservative inline with document updates CLOSED - COMPLETE Actions

Associated revisions

Revision 62bb34a6 View on GitHub
Added by milan 11 months ago

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

History

#1 Updated by bherring 9 months ago

  • Description updated (diff)

#2 Updated by bherring 9 months ago

  • Description updated (diff)
  • Private changed from Yes to No

#4 Updated by ttereshc 8 months ago

  • Priority changed from Normal to High
  • Triaged changed from No to Yes
  • Sprint set to Sprint 50

#5 Updated by dalley 8 months 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.

#7 Updated by ttereshc 8 months ago

  • Version set to 2.18.0

#8 Updated by ttereshc 8 months 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

#9 Updated by ttereshc 8 months ago

  • Description updated (diff)

#10 Updated by ttereshc 8 months 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.

#11 Updated by ttereshc 8 months ago

  • Platform Release set to 2.19.0

#12 Updated by ttereshc 8 months ago

  • Sprint/Milestone set to 2.19.0

#14 Updated by ttereshc 8 months ago

  • Verification Required changed from No to Yes

#15 Updated by ttereshc 8 months ago

  • Status changed from MODIFIED to ON_QA

#16 Updated by kersom 8 months ago

  • Related to Test #4548: Ensure modular_errata.py includes cases for --recursive and --recursive_conservative inline with document updates added

#17 Updated by ttereshc 8 months ago

  • Status changed from ON_QA to CLOSED - CURRENTRELEASE

#18 Updated by bmbouter 7 months ago

  • Tags Pulp 2 added

#19 Updated by kersom 4 months ago

  • Tracker changed from Issue to Test

#20 Updated by kersom 4 months ago

  • Tracker changed from Test to Issue
  • Severity set to 2. Medium
  • Backwards Incompatible set to No
  • Triaged set to No
  • Groomed set to No
  • Sprint Candidate set to No
  • Verified set to No
  • Verification Required set to No

Please register to edit this issue

Also available in: Atom PDF