Project

General

Profile

Bug #26304

Unable to create docker repository when "Registry Name Pattern" is set in LE

Added by Justin Sherrill about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Category:
Container
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1683935

Description of problem: Unable to create docker type repository

Steps to reproduce:
1. Content -> Lifecycle Environment
2. Select environment other than "Library" (create one if necessary)
3. In registry pattern name field, put the pattern with content_view.version and save the 'Registry Name Pattern'
4. Now try to create a repository of type docker

> /var/log/foreman/production.log <
2019-02-28T12:24:16 [I|app|] Started PUT "/katello/api/v2/environments/1?organization_id=1" for 10.76.1.165 at 2019-02-28 12:24:16 +0530
2019-02-28T12:24:16 [I|app|33a520d0] Processing by Katello::Api::V2::EnvironmentsController#update as JSON
2019-02-28T12:24:16 [I|app|33a520d0] Parameters: {"library"=>true, "registry_name_pattern"=>"<%=content_view.version%>", "registry_unauthenticated_pull"=>true, "id"=>"1", "name"=>"Library", "label"=>"Library", "description"=>nil, "organization_id"=>"1", "organization"=>{"name"=>"RedHat", "label"=>"RedHat", "id"=>1}, "created_at"=>"2019-02-11 15:54:15 +0530", "updated_at"=>"2019-02-28 12:21:35 +0530", "prior"=>nil, "successor"=>nil, "counts"=>{"content_hosts"=>2, "content_views"=>3, "packages"=>35112, "puppet_modules"=>13, "module_streams"=>0, "errata"=>{"security"=>785, "bugfix"=>2553, "enhancement"=>750, "total"=>4088}, "yum_repositories"=>8, "docker_repositories"=>1, "ostree_repositories"=>0, "products"=>8}, "permissions"=>{"create_lifecycle_environments"=>true, "view_lifecycle_environments"=>true, "edit_lifecycle_environments"=>true, "destroy_lifecycle_environments"=>false, "promote_or_remove_content_views_to_environments"=>true}, "api_version"=>"v2", "environment"=>{"id"=>"1", "name"=>"Library", "description"=>nil, "library"=>true, "organization_id"=>"1", "created_at"=>"2019-02-11 15:54:15 +0530", "updated_at"=>"2019-02-28 12:21:35 +0530", "label"=>"Library", "registry_name_pattern"=>"<%=content_view.version%>", "registry_unauthenticated_pull"=>true, "prior"=>nil}}
2019-02-28T12:24:16 [I|app|33a520d0] Current user set to admin (admin)
2019-02-28T12:24:17 [E|app|33a520d0] Safemode::NoMethodError: undefined method '#version' for Katello::ContentView::Jail (Katello::ContentView)
/opt/theforeman/tfm/root/usr/share/gems/gems/safemode-1.3.5/lib/safemode/jail.rb:22:in `method_missing'
/opt/theforeman/tfm/root/usr/share/gems/gems/safemode-1.3.5/lib/safemode.rb:52:in `bind'
/opt/theforeman/tfm/root/usr/share/gems/gems/safemode-1.3.5/lib/safemode.rb:51:in `eval'
/opt/theforeman/tfm/root/usr/share/gems/gems/safemode-1.3.5/lib/safemode.rb:51:in `eval'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.10.0.23/app/models/katello/repository.rb:681:in `safe_render_container_name'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.10.0.23/app/lib/katello/validators/environment_docker_repositories_validator.rb:25:in `block in validate_repositories'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/relation/delegation.rb:41:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/relation/delegation.rb:41:in `each'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.10.0.23/app/lib/katello/validators/environment_docker_repositories_validator.rb:24:in `validate_repositories'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.10.0.23/app/lib/katello/validators/environment_docker_repositories_validator.rb:12:in `validate'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:426:in `block in make_lambda'

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

How reproducible: Always

Associated revisions

Revision 8455f5e1 (diff)
Added by Justin Sherrill about 3 years ago

Fixes #26304 - allow lce pattern with cvv version

the lifecycle environment docker registry pattern suggests that
content_view.version is a valid option, while it is not. The user
should use content_view_version.version. The validator seemed to be
using openstructs with duplicated jail definitions, so this was
changed to use unsaved models

History

#1 Updated by The Foreman Bot about 3 years ago

  • Assignee set to Justin Sherrill
  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/8007 added

#2 Updated by Justin Sherrill about 3 years ago

  • Triaged changed from No to Yes
  • Target version set to Katello 3.12.0

#3 Updated by Justin Sherrill about 3 years ago

  • Status changed from Ready For Testing to Closed

Also available in: Atom PDF