IMO it should be OK to delete the puppet module from the product, it should not automatically remove from CVs and propogate the deletion. Ideally, if the user deleted the module by mistake, they can download it from the CV and then re-upload into the custom product.
Other types of content such as RPM work in a similar fashion. If the product is altered, it does not automatically alter the CV.
Does the above sound reasonable?
Created redmine issue http://projects.theforeman.org/issues/15817 from this bug
Upstream bug component is WebUI
When I removed the puppet module, on the puppet module tab under content views, I see the puppet module with "Unable to determine" for the version. When I try to then publish the content view, I get "undefined method `repositories' for nil:NilClass". A couple solutions:
1. Leave the cv puppet module alone but fix publishing.
2. Hide the cv puppet module if the puppet module doesn't exist and fix publishing.
3. Remove the cv puppet module when the puppet module is removed. This should automatically fix publishing.
Solution 3 is a bit challenging because the cv puppet module does not point directly to the puppet module so we'd have to check to see if there are any other puppet modules with the same name when we remove the puppet module and then delete any associated cv puppet modules.
After talking with Chris who worked on the original BZ, we decided on option 1 because it's consistent with other repo types (e.g. removing a package doesn't affect the content view or its filters). Moreover option 1 doesn't preclude implementing option 2 which has the same end result as option 3.
Steps to reproduce:
1. Create a product with puppet module
2. Create a content view, add the puppet module, publish
3. Remove the puppet module from the system (Products > Repositories > Repo A > Remove Puppet Module)
4. Confirm that the puppet module is still attached to the content view (Content View > Puppet Modules)
5. Publish the content view again. It should succeed if the bug is fixed. The content view will have no puppet modules though.
6. Optionally, re-add the puppet module to the product (can be a different version though) and republish the content view. It should now have the puppet module in the content view version.
Moving to POST since upstream bug http://projects.theforeman.org/issues/15817 has been closed
Verified according to steps in comment 11, on Satellite 6.3 snap 5, CV with removed puppet module can now be successfully published.
*** Bug 1487860 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.
> For information on the advisory, and where to find the updated files, follow the link below.
> If the solution does not work for you, open a new bug report.