Project

Profile

Help

Test #4158

closed

Test applicability for modular or mixed content

Added by ttereshc about 6 years ago. Updated over 5 years ago.

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

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 ConsumerCLOSED - CURRENTRELEASEttereshc

Actions
Related to RPM Support - Story #4058: As a user, I can calculate applicability for modular contentCLOSED - CURRENTRELEASEttereshc

Actions
Related to RPM Support - Story #3925: As a user, I can retrieve a list of applicable RPMs, Errata, and Module streams for a consumerCLOSED - CURRENTRELEASEttereshc

Actions
Actions #1

Updated by ttereshc about 6 years ago

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

Updated by ttereshc about 6 years ago

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

Updated by ttereshc about 6 years ago

  • Description updated (diff)

Added by ragabala about 6 years ago

Revision 4d1279d2 | View on GitHub

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

Actions #4

Updated by Anonymous about 6 years ago

  • Status changed from NEW to MODIFIED
Actions #5

Updated by bherring about 6 years ago

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

Updated by bherring about 6 years ago

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

Updated by bherring about 6 years ago

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

Updated by kersom about 6 years ago

  • Status changed from MODIFIED to CLOSED - COMPLETE
Actions #9

Updated by bherring almost 6 years ago

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

Updated by bherring almost 6 years ago

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

Updated by bmbouter over 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF