Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1134526 - hammer import template-snippet fails with TypeError:can't convert nil into String while processing CSV line
Summary: hammer import template-snippet fails with TypeError:can't convert nil into St...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Transitions
Version: Unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: Unspecified
Assignee: Tomas Lestach
QA Contact: Roman Plevka
Roman Plevka
URL:
Whiteboard:
Depends On:
Blocks: stargate-GA-tracker
TreeView+ depends on / blocked
 
Reported: 2014-08-27 16:43 UTC by Lukas Pramuk
Modified: 2017-02-23 21:01 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-12 13:56:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Lukas Pramuk 2014-08-27 16:43:25 UTC
Description of problem:
hammer import template-snippet fails with TypeError:can't convert nil into String while processing CSV line when importing from an empty csv file.

Version-Release number of selected component (if applicable):
rubygem-hammer_cli_import-0.10.2-1.el6.noarch

How reproducible:
100%

Steps to Reproduce:
0. prepare an empty kickstart-scripts.csv with just header there
1. # hammer import template-snippet --verbose --csv-file /tmp/exports/kickstart-scripts.csv
Importing from /tmp/exports/kickstart-scripts.csv
Caught TypeError:can't convert nil into String while processing CSV line:
{"data"=>nil, "chroot"=>nil, "script_type"=>nil, "script_name"=>nil, "interpreter"=>nil, "kickstart_label"=>nil, "org_id"=>nil, "position"=>nil, "id"=>nil}
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/templatesnippet.rb:41:in `+'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/templatesnippet.rb:41:in `mk_snippet_hash'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/templatesnippet.rb:57:in `import_single_row'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:471:in `call'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:471:in `cvs_iterate'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/importtools.rb:295:in `call'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/importtools.rb:295:in `handle_missing_and_supress'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:470:in `cvs_iterate'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/csvhelper.rb:52:in `csv_each'
/usr/lib/ruby/gems/1.8/gems/fastercsv-1.5.4/lib/faster_csv.rb:1545:in `each'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/csvhelper.rb:43:in `csv_each'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:469:in `cvs_iterate'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:477:in `import'
/usr/lib/ruby/gems/1.8/gems/hammer_cli_import-0.10.2/lib/hammer_cli_import/base.rb:513:in `execute'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run'
/usr/lib/ruby/gems/1.8/gems/hammer_cli-0.1.1/lib/hammer_cli/./apipie/../abstract.rb:22:in `run'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/subcommand/execution.rb:11:in `execute'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run'
/usr/lib/ruby/gems/1.8/gems/hammer_cli-0.1.1/lib/hammer_cli/./apipie/../abstract.rb:22:in `run'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/subcommand/execution.rb:11:in `execute'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run'
/usr/lib/ruby/gems/1.8/gems/hammer_cli-0.1.1/lib/hammer_cli/./apipie/../abstract.rb:22:in `run'
/usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:125:in `run'
/usr/lib/ruby/gems/1.8/gems/hammer_cli-0.1.1/bin/hammer:102
/usr/bin/hammer:19:in `load'
/usr/bin/hammer:19
Summary
  No action taken.


Actual results:
traceback shown

Expected results:
no traceback

Comment 1 RHEL Program Management 2014-08-27 16:53:15 UTC
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 3 Tomas Lestach 2014-08-28 15:14:28 UTC
Having empty csv file
$ cat data/kss.csv
id,org_id,script_name,kickstart_id,kickstart_label,position,script_type,chroot,interpreter,data
$ hammer import template-snippet --verbose --csv-file data/kss.csv --verbose
Importing from data/kss.csv
Summary
  No action taken.

what looks good.


Having (note the extra empty line)
$ cat data/kss.csv
id,org_id,script_name,kickstart_id,kickstart_label,position,script_type,chroot,interpreter,data

$ hammer import template-snippet --verbose --csv-file data/kss.csv --verbose
fails with the reported exception. But this is *not* a valid csv file.

Closing NOTABUG.

Comment 4 Grant Gainey 2015-05-15 14:53:45 UTC
But we fixed it anyway:

hammer_cli_import.github 0d2b0d19dbfe0301ca8cc2b1d93b4f274c674dca

    prevent nil exception
    addressing:
    Caught TypeError:no implicit conversion of nil into String while processing CSV line:
    ...
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/templatesnippet.rb:41:in `+'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/templatesnippet.rb:41:in `mk_snippet_hash'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/templatesnippet.rb:57:in `import_single_row'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/base.rb:511:in `call'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/base.rb:511:in `block (2 levels) in cvs_iterate'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/importtools.rb:302:in `call'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/importtools.rb:302:in `handle_missing_and_supress'
    /usr/share/gems/gems/hammer_cli_import-0.10.6.3/lib/hammer_cli_import/base.rb:510:in `block in cvs_iterate'
    ...

Comment 7 Roman Plevka 2015-05-21 12:46:33 UTC
VERIFIED.

reproduced with ver: hammer_cli_import (0.10.6)
tested with version: hammer_cli_import (0.10.14)

# cat kickstart-scripts2.csv 
id,org_id,script_name,kickstart_id,kickstart_label,position,script_type,chroot,interpreter,data

#
# hammer import template-snippet --verbose --csv-file kickstart-scripts2.csv
Importing from kickstart-scripts2.csv
Creating new template snippet: ----
Summary
  Created 1 template snippet.

The patch has a side effect though.
An empty snippet is being created:

# hammer template list
---|-------------------------------|----------
ID | NAME                          | TYPE     
---|-------------------------------|----------
51 | ----                          | snippet  
---|-------------------------------|----------


I believe a proper csv validation is needed to be implemented for all the import subcommands. I've filed another ticket for this: BZ #1223776

Comment 8 Bryan Kearney 2015-08-11 13:30:37 UTC
This bug is slated to be released with Satellite 6.1.

Comment 9 Bryan Kearney 2015-08-12 13:56:46 UTC
This bug was fixed in version 6.1.1 of Satellite which was released on 12 August, 2015.


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