Bug 1113773
Summary: | Publishing a CV containing only (a single?) puppet module(s) fails with undefined method `pulp_id' for nil:NilClass | ||
---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Corey Welton <cwelton> |
Component: | Content Management | Assignee: | Brad Buckingham <bbuckingham> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Corey Welton <cwelton> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.0.3 | CC: | bbuckingham, bkearney, jsherril, mmccune |
Target Milestone: | Unspecified | Keywords: | Triaged |
Target Release: | Unused | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | http://projects.theforeman.org/issues/6422 | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-09-11 12:29:36 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Corey Welton
2014-06-26 21:54:03 UTC
Debugging this it appears as though katello was trying to lookup the module by its repo pulp id 'ACME_Corporation-Puppetlabs-forge', however there is no repo with that id, but there is one with ACME_Corporation-puppetlabs-forge. Looking at pulp, its saying that the module exists in two repos: irb(main):023:0> Katello::PuppetModule.find('1bdec17e-e0b5-483e-8cbd-d2d999986c42').repoids => ["ACME_Corporation-Puppetlabs-forge", "ACME_Corporation-puppetlabs-forge"] Will poke around some more I'm seeing these four repos within pulp that are not within katello: ["ACME_Corporation-Puppetlabs-forge", "ACME_Corporation-capsule_stuff-1", "ACME_Corporation-Library-capsule_stuff", "ACME_Corporation-RHEL6-1", "ACME_Corporation-Library-RHEL6"] I'm curious if maybe you: a) ran katello-installer --reset after creating a few repos b) created a product and some repos and deleted them somehow? We can add some code changes to make the determination of the repo that the module is in more resilient, but i'm not entirely sure this is a priority if there was some other circumstance that got you in this situation (depending on what that was) a) ran katello-installer --reset after creating a few repos no b) created a product and some repos and deleted them somehow? I don't recall but I don't think so. It is a fresh install. Now that I think about it, I did have two puppet products (Puppetlabs vs puppetlabs) and deleted one. However, I deleted no other products or repos that I can recall? I believe we're in a pretty bad state if I can no longer promote puppet CVs for any reason. This once again breaks user stories and/or requires me to wipe DB and start afresh in order to even attempt to publish/promote. Ahh, i think i know the cause now. A couple of causes: a) after deleting a repo, the puppet modules-repo association didn't get removed from elasticsearch b) We don't verify pulp repoids in elasticsearch as part of calculating where to copy puppet modules from. But that doesn't really explain why the repos still existed in pulp! Will do some testing. Possibly related to the bulk actions issue... see also https://bugzilla.redhat.com/show_bug.cgi?id=1113684 Created redmine issue http://projects.theforeman.org/issues/6422 from this bug After brief debugging/investigation, it appears that this one has already been addressed with the following Katello PR: https://github.com/Katello/katello/pull/4361 The fix is available in current builds; therefore, going to move to ON_QA. Verified in Satellite-6.0.4-RHEL-6-20140730.0 This was delivered with Satellite 6.0 which was released on 10 September 2014. |