Bug 2153523

Summary: Promoting a composite content view to environment with registry name as "<%= lifecycle_environment.label %>/<%= repository.name %>" on Red Hat Satellite 6 fails with "'undefined method '#label' for NilClass::Jail (NilClass)'"
Product: Red Hat Satellite Reporter: soham <smajumda>
Component: Content ViewsAssignee: Quinn James <qjames>
Status: CLOSED ERRATA QA Contact: Sam Bible <sbible>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.11.4CC: ahumbe, lufu, pmoravec, rlavi, sajha, sbible, vsedmik
Target Milestone: 6.15.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2266144 (view as bug list) Environment:
Last Closed: 2024-04-23 17:12:54 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 soham 2022-12-14 17:13:06 UTC
Description of problem:
Promoting a composite content view to environment with registry name as "<%= lifecycle_environment.label %>/<%= repository.name %>" on Red Hat Satellite 6 fails with "'undefined method '#label' for NilClass::Jail (NilClass)'"

Version-Release number of selected component (if applicable):
6.11.4


How reproducible:
Always


Steps to Reproduce:
Create product

# hammer product create --description "Product Busybox Container" --name Product_Busybox_Container --label "Product_Busybox_Container" --organization myorg
Create repository and sync to source

# hammer repository create \
  --content-type "docker" \
  --organization myorg \
  --product "Product_Busybox_Container" \
  --url "https://registry-1.docker.io" \
  --name "library/busybox" \
  --docker-upstream-name "library/busybox" \
  --label "library_busybox" \
  --include-tags "stable, 1.35.0"
 
# hammer repository synchronize --name "library/busybox" --product "Product_Busybox_Container" --organization myorg

Create content view

# hammer repository list --product Product_Busybox_Container --organization myorg
# hammer content-view create --label ContentView_Busybox --name ContentView_Busybox --organization-label myorg --repository-ids 1225
Replace 1225 with the id from above command

Content view creation

# hammer content-view publish --organization myorg --name ContentView_Busybox


Now assign this created content-view to a composite-content-view

Create an environment test with registry name as "<%= lifecycle_environment.label %>/<%= repository.name %>"

promote composite-content-view to test environment

        ERROR: 'undefined method '#label' for NilClass::Jail (NilClass)'

Comment 1 Brad Buckingham 2022-12-15 15:19:45 UTC
Can the full stack trace from the production.log?   Thanks!

Comment 4 Quinn James 2023-09-25 15:19:28 UTC
Created redmine issue https://projects.theforeman.org/issues/36776 from this bug

Comment 5 Bryan Kearney 2023-10-02 16:02:14 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/36776 has been resolved.

Comment 6 Quinn James 2023-10-27 15:52:48 UTC
*** Bug 2237999 has been marked as a duplicate of this bug. ***

Comment 8 Sam Bible 2024-01-23 16:38:02 UTC
Verified on 6.15 - Snap 5

Steps to Verify:
1.Create a product:
 - hammer product create --description "Product Busybox Container" --name Product_Busybox_Container --label "Product_Busybox_Container" --organization myorg
2.Create a repository and sync it:
 - hammer repository create \
   --content-type "docker" \
   --organization myorg \
   --product "Product_Busybox_Container" \
   --url "https://registry-1.docker.io/" \
   --name "library/busybox" \
   --docker-upstream-name "library/busybox" \
   --label "library_busybox" \
   --include-tags "stable, 1.35.0"
 - hammer repository synchronize --name "library/busybox" --product "Product_Busybox_Container" --organization myorg (For future reproducers, you might need to find a different registry for use here, docker.io refuses connection often)
3. Create a content view with this repo and publish it:
 - hammer content-view create --label ContentView_Busybox --name ContentView_Busybox --organization-label myorg --repository-ids <repo_id>
 - hammer content-view publish --organization myorg --name ContentView_Busybox
4. Create a CCV
5. Add the CV to this composite CV.
6. Create an LCE. Modify the registry name pattern to <%= repository.name %>.
7. Create another LCE. Modify the registry name pattern to <%= lifecycle_environment.label %>/<%= repository.name %>
8. Promote the CV to the first LCE.
9. Promote the CV to the second LCE.

Expected Results:
The CCV can successfully be promoted to both LCEs without error. 

Actual Results:
The CCV can successfully be promoted to both LCEs without error.

Comment 11 errata-xmlrpc 2024-04-23 17:12:54 UTC
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 (Important: Satellite 6.15.0 release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2024:2010