Story #4051
Updated by ipanova@redhat.com over 5 years ago
h3. Motivation
* No easy way to search/check if module belongs to a specific module or to any module at all => that would help tooling for identifying modular RPMs without a module
* No easy way to get list of RPMs which belong to a specific module
* No lookup of a module by RPM, no way to prevent user from deleting modular RPM and break a module.
* Katello asks for API which returns references module -> rpms [#3982]
h3. Suggested solution
Create a separate collection which maps a module to an RPM.
Records can be created/removed in the post-save/delete hooks.
Sync: create/update mapping during sync
Upload: check if an RPM is modular and if it is, require to provide module NSCVA
Copy: no changes
Publish: no changes
Removal of a modulemd content unit from Pulp: remove mapping
Unassociation of RPM: if RPM is modular and module is still in a repo => reject/complain
API for Katello: up for discussion, but it's easier to provide it when we have that mapping
Migration, process existing modules and rpms and create the mapping collection