Bug 1288048

Summary: Unable to create docker container with 'satelliteqe/robottelo' repo repeatedly
Product: Red Hat Satellite Reporter: Andrii Balakhtar <abalakht>
Component: Container ManagementAssignee: Daniel Lobato Garcia <dlobatog>
Status: CLOSED ERRATA QA Contact: Lukas Pramuk <lpramuk>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.1.5CC: abalakht, bbuckingham, ehelms, lpramuk, mmccune, ohadlevy
Target Milestone: UnspecifiedKeywords: Regression, Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
URL: http://projects.theforeman.org/issues/14570
Whiteboard:
Fixed In Version: rubygem-docker-api-1.28.0-1,rubygem-foreman_docker-2.0.1.10-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 11:17:20 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:
Attachments:
Description Flags
cloudqe-3 error none

Description Andrii Balakhtar 2015-12-03 11:27:42 UTC
Description of problem:
I'm trying to create docker container with 'satelliteqe/robottelo' repo. First attempt was successful, then creation started to fail on repo search & tag selection step, showing some 'Expected([200, 201, 202, 203, 204, 304]) <=> Actual(301 Moved Permanently)'' and 'undefined method `info' for nil:NilClass' errors.
It's some kind of incompatibility with that specific repo, other repos (like 'busybox') can be selected with no errors.

Version-Release number of selected component (if applicable):
6.1.5C2, RHEL7.2
rpm -qa | grep docker
docker-selinux-1.8.2-8.el7.x86_64
pulp-docker-plugins-0.2.5-1.el7sat.noarch
ruby193-rubygem-docker-api-1.17.0-1.1.el7sat.noarch
ruby193-rubygem-foreman_docker-1.2.0.24-1.el7sat.noarch
python-pulp-docker-common-0.2.5-1.el7sat.noarch
rubygem-hammer_cli_foreman_docker-0.0.3.10-1.el7sat.noarch
docker-1.8.2-8.el7.x86_64
rpm -qa | grep katello
katello-certs-tools-2.2.1-1.el7sat.noarch
katello-server-ca-1.0-1.noarch
rubygem-hammer_cli_katello-0.0.7.18-1.el7sat.noarch
katello-service-2.2.0.16-1.el7sat.noarch
katello-debug-2.2.0.16-1.el7sat.noarch
katello-installer-2.3.21-1.el7sat.noarch
katello-common-2.2.0.16-1.el7sat.noarch
katello-installer-base-2.3.21-1.el7sat.noarch
ruby193-rubygem-katello-2.2.0.77-1.el7sat.noarch
katello-2.2.0.16-1.el7sat.noarch
pulp-katello-0.5-1.el7sat.noarch
katello-default-ca-1.0-1.noarch

How reproducible:
Always.

Steps to Reproduce:
1. Create new Docker compute resource (no matter using 'EXTERNAL DOCKER URL' or 'INTERNAL DOCKER URL')
2. Create new Docker container, using Docker hub and repo - 'satelliteqe/robottelo' with 'latest' tag.
3. Try to create similar Docker container once again: navigate to container creation page, select compute resource, choose docker hub tab, type 'satelliteqe/robottelo' into search field, select repo.

Actual results:
Lots of errors like 'An error occurred during repository search: 'Expected([200, 201, 202, 203, 204, 304]) <=> Actual(301 Moved Permanently)'' and 'undefined method `info' for nil:NilClass' appeared on the page.

Expected results:
Repo tags should be retrieved successfully; user should be able to create another docker container with 'satelliteqe/robottelo' repo.


Additional info:

Comment 3 Andrii Balakhtar 2015-12-03 12:17:08 UTC
Have checked on 6.1.4 and the bug is not reproducible there, it was only introduced in 6.1.5.

Comment 5 Daniel Lobato Garcia 2016-04-12 10:33:04 UTC
Can you provide a more precise reproducer of this? I just created two `satelliteqe/robottelo` containers, with command '/tmp/startup.sh` and both run perfectly. I could find the image also just fine.  

Can you reproduce this on more than one host? It might be failing to local circumstances of your host.

for the record, I couldn't reproduce this neither upstream nor on cloudqe-3:

https://cloud-qe-3.idmqe.lab.eng.bos.redhat.com/containers/8
https://cloud-qe-3.idmqe.lab.eng.bos.redhat.com/containers/7

Comment 6 Andrii Balakhtar 2016-04-13 14:19:45 UTC
Daniel,

I've tried it on cloudqe-3:
Navigated to New container page, selected existing compute resource, selected 'Docker hub' tab, typed 'satelliteqe/robottelo' in search field, hit the search button and received just the same errors and tags were not retrieved. 
Attaching the screenshot from cloudqe-3.

Comment 7 Andrii Balakhtar 2016-04-13 14:19:52 UTC
Created attachment 1146866 [details]
cloudqe-3 error

Comment 8 Daniel Lobato Garcia 2016-04-14 10:04:26 UTC
Ah I see. So running the container works but retrieving the tags does not. I think this has been fixed upstream already. I'll check what commit does it.

Comment 9 Daniel Lobato Garcia 2016-04-14 14:37:31 UTC
I see it now, it's a problem with the docker-api gem. 1.18 doesn't raise this warning. I'll issue a PR that forces that dependency to be that version at least.

Comment 10 Daniel Lobato Garcia 2016-04-15 15:12:35 UTC
Connecting redmine issue http://projects.theforeman.org/issues/14570 from this bug

Comment 12 Lukas Pramuk 2016-05-23 14:46:06 UTC
FailedQA.

@satellite-6.2.0-12.1.el7sat.noarch
tfm-rubygem-foreman_docker-2.0.1.8-1.el7sat.noarch

Fix seems to be in the place:

# rpm -qR tfm-rubygem-foreman_docker | grep api
tfm-rubygem(docker-api) >= 1.18.0
tfm-rubygem(docker-api) < 2.0


Still error notifications pop up:
(x) Oops, we're sorry but something went wrong undefined method `info' for 
nil:NilClass


2016-05-23 10:34:06 [app] [I] Started GET "/image_search/1/search_repository?search=satelliteqe%2Frobottelo&registry_id=" for <CLIENT_IP> at 2016-05-23 10:34:06 -0400
2016-05-23 10:34:06 [app] [I] Processing by ImageSearchController#search_repository as TEXT
2016-05-23 10:34:06 [app] [I]   Parameters: {"search"=>"satelliteqe/robottelo", "registry_id"=>"", "id"=>"1"}
2016-05-23 10:34:08 [app] [I]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/views/image_search/_repository_search_results.html.erb (1.2ms)
2016-05-23 10:34:08 [app] [I] Completed 200 OK in 1469ms (Views: 3.1ms | ActiveRecord: 4.0ms)

2016-05-23 10:34:14 [app] [I] Started GET "/image_search/1/auto_complete_image_tag?search=satelliteqe%2Frobottelo&registry_id=" for <CLIENT_IP> at 2016-05-23 10:34:14 -0400
2016-05-23 10:34:14 [app] [I] Processing by ImageSearchController#auto_complete_image_tag as JSON
2016-05-23 10:34:14 [app] [I]   Parameters: {"search"=>"satelliteqe/robottelo", "registry_id"=>"", "id"=>"1"}
2016-05-23 10:34:14 [app] [W] Action failed
 | NoMethodError: undefined method `info' for nil:NilClass
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/models/foreman_docker/docker.rb:48:in `tags_for_local_image'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/models/foreman_docker/docker.rb:64:in `tags'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/controllers/image_search_controller.rb:75:in `hub_auto_complete_image_tags'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/controllers/image_search_controller.rb:24:in `block in auto_complete_image_tag'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/controllers/image_search_controller.rb:56:in `catch_network_errors'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_docker-2.0.1.8/app/controllers/image_search_controller.rb:21:in `auto_complete_image_tag'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/abstract_controller/base.rb:189:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/rendering.rb:10:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:113:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:113:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `block (2 levels) in halting'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/rails-observers-0.1.2/lib/rails/observers/action_controller/caching/sweeping.rb:73:in `around'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:447:in `public_send'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:447:in `block in make_lambda'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `block (2 levels) in halting'
 | /usr/share/foreman/app/controllers/concerns/application_shared.rb:13:in `set_timezone'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:424:in `block in make_lambda'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `block (2 levels) in halting'
 | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:424:in `block in make_lambda'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:299:in `block (2 levels) in halting'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/rails-observers-0.1.2/lib/rails/observers/action_controller/caching/sweeping.rb:73:in `around'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:447:in `public_send'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:447:in `block in make_lambda'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:298:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:86:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:86:in `run_callbacks'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/abstract_controller/callbacks.rb:19:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/rescue.rb:29:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `block in instrument'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `instrument'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activerecord-4.1.5/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/abstract_controller/base.rb:136:in `process'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/rendering.rb:30:in `process'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal.rb:196:in `dispatch'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_controller/metal.rb:232:in `block in action'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:80:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:48:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:71:in `block in call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:59:in `each'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:59:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:676:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.3.6/lib/apipie/static_dispatcher.rb:65:in `call'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.3.6/lib/apipie/extractor/recorder.rb:132:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.3.6/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/etag.rb:23:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
 | /usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:9:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/flash.rb:254:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/cookies.rb:560:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activerecord-4.1.5/lib/active_record/query_cache.rb:36:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activerecord-4.1.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:82:in `run_callbacks'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/rack/logger.rb:38:in `call_app'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/rack/logger.rb:22:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/request_id.rb:21:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/engine.rb:514:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/application.rb:144:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/railtie.rb:194:in `public_send'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/railtie.rb:194:in `method_missing'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in `block in call'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `each'
 | /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `call'
 | /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request'
 | /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
 | /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
 | /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
2016-05-23 10:34:14 [app] [I]   Rendered common/500.html.erb (2.0ms)
2016-05-23 10:34:14 [app] [I] Completed 500 Internal Server Error in 28ms (Views: 2.5ms | ActiveRecord: 2.7ms)

Comment 13 Lukas Pramuk 2016-05-23 15:03:12 UTC
Issue is not related to "satelliteqe/robottelo" image.

With "busybox" image there is no error notification popups, but I can only re-use a tag I chose before to create a container (i.e latest)

for the 1st time I can see many tags:
- 1.24
- 1.24.1
-
...
- latest

for the 2nd time I can only reuse the tag I chose before:
- latest


>>> After container creation of certain image and tag other tags for that image are doomed

Comment 14 Daniel Lobato Garcia 2016-05-24 13:14:15 UTC
As per explained on IRC - tags are fine. The first time you don't have the image in the docker host, so you click on search and see the tags that are in the hub. That's why you see multiple tags.

The 2nd time you search for an image, you already have the image and just 1 tag, so it just displays that tag. If you click on search and select the image on the hub or other registry - it'll display all tags available in the hub

Again, the tags and image dropdown are just suggestions and you can just write anything you want in there.

Comment 15 Daniel Lobato Garcia 2016-05-24 13:56:11 UTC
Under review at https://github.com/theforeman/foreman-docker/pull/166

Comment 16 Daniel Lobato Garcia 2016-05-31 15:03:12 UTC
Merged as refs, I move this to POST so that Jenkins picks up the last update on Redmine

Comment 17 Lukas Pramuk 2016-06-06 12:31:28 UTC
FailedQA.

@satellite-6.2.0-14.2.el7sat.noarch
tfm-rubygem-docker-api-1.28.0-1.el7sat.noarch
tfm-rubygem-foreman_docker-2.0.1.10-1.el7sat.noarch

This time no error notifications pop up, but still persists issue that after container creation of certain image and tag other tags for that image cannot be used.

RE local tags vs. remote tags - I know what is going on here:

Though I search for the image and select it, once its name is being filled out into the edit area, the autocomplete prevails and shows only 1 local tag !!!

Comment 18 Daniel Lobato Garcia 2016-06-10 12:52:30 UTC
Lukas, the behavior you're seeing with tags is what's expected. The autocomplete will show only one tag because that's the one you have in your docker server. 

The reason why you see a lot of tags the first time is because you're searching for a docker image *in the registry*, then when you choose that image, tags are fetched from *the registry*. 

If you search for a Docker image then choose it *from the registry*, it will pull the list of tags again. Otherwise it'll show the available tags in your docker server for that image.

At any point in time you can just write whatever tag, the autocomplete is just a suggestion for available tags. If the tag is not in the docker server, it'll try to pull it from whatever registry you chose.

I don't see what does that behavior to do with the original bug, though. If you feel it's a bug, open an RFE to improve the UX of the tag retrieval. Please close if the original bug is closed.

In case the original bug is still failing (I don't think it is) - please provide conditions to reproduce it, and some criteria you'll use to verify the bug.

Comment 19 Ohad Levy 2016-06-16 07:37:24 UTC
Lukas, is this the case where the original bug was fixed but new bug was found instead? in that case lets closed this issue and report a new one.
thanks!

Comment 20 Lukas Pramuk 2016-06-17 10:07:35 UTC
Ohad,
yes you're right, I recalled comment #0 and the reported error no longer appears, and a failing issue is minor but still worth to be fixed, so lets have another bz for it.  

I reconsidered my comment #17 

FailedQA > VERIFIED.

Comment 21 Lukas Pramuk 2016-06-17 11:06:56 UTC
Minor issue with tags:

BZ 1347658 - UI: once docker image is used other tags cannot be searched

Comment 22 Bryan Kearney 2016-07-27 11:17:20 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, 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/RHBA-2016:1501