Bug 1012159 - Importing individual puppet module fails with TypeError (can't convert nil into Hash)
Importing individual puppet module fails with TypeError (can't convert nil in...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Satellite 6
Classification: Red Hat
Component: WebUI (Show other bugs)
6.0.2
Unspecified Unspecified
unspecified Severity medium (vote)
: Unspecified
: --
Assigned To: David Davis
Og Maciel
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-09-25 16:44 EDT by Og Maciel
Modified: 2014-04-24 13:11 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-04-24 13:10:00 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Screenshot (111.51 KB, image/png)
2013-09-25 16:44 EDT, Og Maciel
no flags Details

  None (edit)
Description Og Maciel 2013-09-25 16:44:13 EDT
Created attachment 803087 [details]
Screenshot

Description of problem:

Tried to import an individual puppet module into an existing product but the process failed with the following error being displayed in the logs:

==> /var/log/katello/production.log <==
[FATAL 2013-09-25 16:30:19 app 4ce56e57ef1f539f7aad1d444c24b527 #28314]
 | TypeError (can't convert nil into Hash):
 |   lib/katello/middleware/log_request_uuid.rb:22:in `call'

also, there is an error in the web ui, but notice that there is a rendering issue with the message (I will file a separate issue for that).

FWIW, this product is part of a content view that had been published and promoted.

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


* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.8.25-1.el6sam.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.8.25-1.el6sam.noarch
* candlepin-tomcat6-0.8.25-1.el6sam.noarch
* elasticsearch-0.19.9-8.el6sat.noarch
* foreman-1.3.0-5.el6sat.noarch
* foreman-compute-1.3.0-5.el6sat.noarch
* foreman-installer-puppet-concat-0-2.d776701.git.0.21ef926.el6sat.noarch
* foreman-installer-puppet-dhcp-0-5.3a4a13c.el6sat.noarch
* foreman-installer-puppet-dns-0-7.fcae203.el6sat.noarch
* foreman-installer-puppet-foreman-0-6.568c5c4.el6sat.noarch
* foreman-installer-puppet-foreman_proxy-0-8.bd1e35d.el6sat.noarch
* foreman-installer-puppet-puppet-0-3.ab46748.el6sat.noarch
* foreman-installer-puppet-tftp-0-5.ea6c5e5.el6sat.noarch
* foreman-installer-puppet-xinetd-0-50a267b8.git.0.44aca6a.el6sat.noarch
* foreman-libvirt-1.3.0-5.el6sat.noarch
* foreman-postgresql-1.3.0-5.el6sat.noarch
* foreman-proxy-1.3.0-1.el6sat.noarch
* katello-1.4.6-9.el6sat.noarch
* katello-all-1.4.6-9.el6sat.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.4.4-1.el6sat.noarch
* katello-cli-1.4.3-13.el6sat.noarch
* katello-cli-common-1.4.3-13.el6sat.noarch
* katello-common-1.4.6-9.el6sat.noarch
* katello-configure-1.4.5-8.el6sat.noarch
* katello-configure-foreman-1.4.5-8.el6sat.noarch
* katello-configure-foreman-proxy-1.4.5-8.el6sat.noarch
* katello-foreman-all-1.4.6-9.el6sat.noarch
* katello-glue-candlepin-1.4.6-9.el6sat.noarch
* katello-glue-elasticsearch-1.4.6-9.el6sat.noarch
* katello-glue-pulp-1.4.6-9.el6sat.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-qpid-client-key-pair-1.0-1.noarch
* katello-selinux-1.4.4-4.el6sat.noarch
* openldap-2.4.23-31.el6.x86_64
* pulp-katello-plugins-0.2-1.el6sat.noarch
* pulp-nodes-common-2.3.0-0.14.alpha.el6sat.noarch
* pulp-nodes-parent-2.3.0-0.14.alpha.el6sat.noarch
* pulp-puppet-plugins-2.3.0-0.14.alpha.el6sat.noarch
* pulp-rpm-plugins-2.3.0-0.14.alpha.el6sat.noarch
* pulp-selinux-2.3.0-0.14.alpha.el6sat.noarch
* pulp-server-2.3.0-0.14.alpha.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-ldap_fluff-0.2.2-2.el6sat.noarch
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.0.7-1.el6sat.noarch
* signo-0.0.20-3.el6sat.noarch
* signo-katello-0.0.20-3.el6sat.noarch

How reproducible:


Steps to Reproduce:
1. Create a product and add a puppet repository
2. Attempt to import an individual puppet module (I used https://github.com/pulp/pulp_puppet/blob/master/pulp_puppet_plugins/test/data/good-modules/adob-good/pkg/adob-good-2.0.0.tar.gz)
3.

Actual results:

There's an error in the production.log and the UI

Expected results:


Additional info:
Comment 2 David Davis 2013-09-25 16:50:02 EDT
Here is the puppet module Og used (correct me if I am wrong):

https://github.com/pulp/pulp_puppet/raw/master/pulp_puppet_plugins/test/data/repos/valid/adob-good-2.0.0.tar.gz
Comment 3 David Davis 2013-09-25 16:50:38 EDT
Oh duh, disregard my previous comment.
Comment 5 David Davis 2013-09-27 10:45:13 EDT
To update this bug, it looks like it's happening in FF but not in Chrome. It looks like the error is happening in rack/middleware. Found this thread about the same error:

https://github.com/rack/rack/issues/430

I tried to output env["rack.request.form_hash"] in FF, and sure enough it's nil. In Chrome though, env["rack.request.form_hash"] is:

{"content"=>{:filename=>"adob-good-2.0.0.tar.gz", :type=>"application/gzip", :name=>"content", :tempfile=>#<File:/tmp/RackMultipart20130927-18002-1yx0g23>, :head=>"Content-Disposition: form-data; name=\"content\"; filename=\"adob-good-2.0.0.tar.gz\"\r\nContent-Type: application/gzip\r\n"}}

So nil causes the error. Need to look into why it's nil in FF.
Comment 6 David Davis 2013-09-27 10:52:50 EDT
Here is an easy way to debug this problem (change 1 to whatever id your puppet repo has):

https://gist.github.com/daviddavis/b353d7fde212797cdbee
Comment 7 David Davis 2013-09-30 14:27:36 EDT
https://github.com/Katello/katello/pull/3059

katello SHA

e89847b85db88268d0e8a1752ca362d3ff050479

1012159: Removing ng-disable to fix module upload in Firefox
Comment 10 Og Maciel 2013-10-18 17:39:13 EDT
Verified:
* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.8.25-1.el6sam.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.8.25-1.el6sam.noarch
* candlepin-tomcat6-0.8.25-1.el6sam.noarch
* elasticsearch-0.19.9-8.el6sat.noarch
* foreman-1.3.0-18.el6sat.noarch
* foreman-compute-1.3.0-18.el6sat.noarch
* foreman-libvirt-1.3.0-18.el6sat.noarch
* foreman-postgresql-1.3.0-18.el6sat.noarch
* foreman-proxy-1.3.0-3.el6sat.noarch
* katello-1.4.6-39.el6sat.noarch
* katello-all-1.4.6-39.el6sat.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.4.4-1.el6sat.noarch
* katello-cli-1.4.3-24.el6sat.noarch
* katello-cli-common-1.4.3-24.el6sat.noarch
* katello-common-1.4.6-39.el6sat.noarch
* katello-configure-1.4.7-5.el6sat.noarch
* katello-configure-foreman-1.4.7-5.el6sat.noarch
* katello-configure-foreman-proxy-1.4.7-5.el6sat.noarch
* katello-foreman-all-1.4.6-39.el6sat.noarch
* katello-glue-candlepin-1.4.6-39.el6sat.noarch
* katello-glue-elasticsearch-1.4.6-39.el6sat.noarch
* katello-glue-pulp-1.4.6-39.el6sat.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-qpid-client-key-pair-1.0-1.noarch
* katello-selinux-1.4.4-4.el6sat.noarch
* openldap-2.4.23-31.el6.x86_64
* pulp-katello-plugins-0.2-1.el6sat.noarch
* pulp-nodes-common-2.3.0-0.22.beta.el6sat.noarch
* pulp-nodes-parent-2.3.0-0.22.beta.el6sat.noarch
* pulp-puppet-plugins-2.3.0-0.22.beta.el6sat.noarch
* pulp-rpm-plugins-2.3.0-0.22.beta.el6sat.noarch
* pulp-selinux-2.3.0-0.22.beta.el6sat.noarch
* pulp-server-2.3.0-0.22.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-ldap_fluff-0.2.2-2.el6sat.noarch
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.0.7-1.el6sat.noarch
* signo-0.0.22-2.el6sat.noarch
* signo-katello-0.0.22-2.el6sat.noarch
Comment 11 Bryan Kearney 2014-04-24 13:10:00 EDT
This was verified and delivered with MDP2. Closing it out.
Comment 12 Bryan Kearney 2014-04-24 13:11:21 EDT
This was delivered and verified with MDP2. Closing the bug.

Note You need to log in before you can comment on or make changes to this bug.