Project

Profile

Help

Test #4158

Test applicability for modular or mixed content

Added by ttereshc 11 months ago. Updated 6 months ago.

Status:
CLOSED - COMPLETE
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Version:
Platform Release:
Tags:
Pulp 2
Sprint:

Description

Ingredients

  • consumer
  • consumer profile
    It used to be of rpm type only, now there can be a second active profile for the same consumer, "modulemd" type.
    So two types are of consumer profiles are now allowed for uploading. Their format is different depending on type but it's not tested validated anywhere, so don't test with different weird fields in the profile :) See examples and expected format in #3927.

Applicability calculates which RPMs, modules and errata are applicable.

Conditions when each of the content types are applicable

1. RPM is applicable:

  • in case of modular RPM:
    • if its corresponding module is enabled
    • if the first-level module dependencies of that module are enabled
    • if that RPM is newer than the installed one
  • in case of non-modular RPM:
    • if RPM name doesn't match the name of any of the modular RPMs from enabled modules
    • if that RPM is newer than the installed one

2. Module is applicable:

  • if at least one RPM which is referred in its artifacts is present in a repo
  • if at least one RPM which is referred in its artifacts is applicable

3. Erratum is applicable:

  • if at least one RPM which is referred in the erratum pkglist is present in a repo
  • if at least one RPM which is referred in the erratum pkglist is applicable

Behavioral changes

  • It was required to request consumer applicability first (to create an applicability profile) and only then it was possible to update it with repo applicability. It's no longer a requirement, repo applicability will create applicability profiles if they don't exist.

Suggested tests (for fixtures repo)

  • Test applicability when only modular RPMs are installed on a consumer
  • Test applicability when modular and non-modular RPMs are installed on a consumer
  • Test applicability when enabled module has module dependencies (see duck modules)
  • Test applicability when enabled module has multiple versions, the same stream but multiple versions (see duck and kangaroo)
  • Test applicability when no modules are enabled
  • Test applicability when module is present in an erratum
  • Test applicability when module is absent from an erratum but still applicable (see walrus modules)
  • Test applicability when a non-modular erratum refers to an RPM with the same name as modular applicable RPM (see walrus RPM and Sea_Erratum)
  • any other useful scenarios

Related issues

Related to Pulp - Story #3927: As a user, I can upload information about Consumer CLOSED - CURRENTRELEASE Actions
Related to RPM Support - Story #4058: As a user, I can calculate applicability for modular content CLOSED - CURRENTRELEASE Actions
Related to RPM Support - Story #3925: As a user, I can retrieve a list of applicable RPMs, Errata, and Module streams for a consumer CLOSED - CURRENTRELEASE Actions

Associated revisions

Revision 4d1279d2 View on GitHub
Added by ragabala 11 months ago

Add modular erratum applicability

Adding Erratum Modular Applicability to the existing content applicability testcases.
This Commit along with the pull request #143 will cover all the
suggested testcases in #4158.

refer #4158
Closes #4158

History

#1 Updated by ttereshc 11 months ago

  • Related to Story #3927: As a user, I can upload information about Consumer added

#2 Updated by ttereshc 11 months ago

  • Related to Story #4058: As a user, I can calculate applicability for modular content added

#3 Updated by ttereshc 11 months ago

  • Description updated (diff)

#4 Updated by Anonymous 11 months ago

  • Status changed from NEW to MODIFIED

#5 Updated by bherring 11 months ago

  • Related to Story #3925: As a user, I can retrieve a list of applicable RPMs, Errata, and Module streams for a consumer added

#6 Updated by bherring 11 months ago

  • Related to deleted (Story #3925: As a user, I can retrieve a list of applicable RPMs, Errata, and Module streams for a consumer)

#7 Updated by bherring 11 months ago

  • Related to Story #3925: As a user, I can retrieve a list of applicable RPMs, Errata, and Module streams for a consumer added

#8 Updated by kersom 10 months ago

  • Status changed from MODIFIED to CLOSED - COMPLETE

#9 Updated by bherring 7 months ago

  • Related to Test #4543: Test newly described definitions of recursive and recursive_conservative flags added

#10 Updated by bherring 7 months ago

  • Related to deleted (Test #4543: Test newly described definitions of recursive and recursive_conservative flags)

#11 Updated by bmbouter 6 months ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF