Bug 1223776

Summary: [RFE] hammer import does not handle invalid csv files correctly
Product: Red Hat Satellite Reporter: Roman Plevka <rplevka>
Component: TransitionsAssignee: Clifford Perry <cperry>
Status: CLOSED ERRATA QA Contact: Roman Plevka <rplevka>
Severity: low Docs Contact:
Priority: low    
Version: UnspecifiedCC: bbuckingham, ggainey, sthirugn, tlestach
Target Milestone: UnspecifiedKeywords: FutureFeature, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 09:15:39 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 Roman Plevka 2015-05-21 12:36:47 UTC
Description of problem:
If user passes a csv file containing only a header and an empty line (invalid csv file), the import sub commands accept and process it.

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

Steps to reproduce:
e.g.
# cat CHANNELS/export.csv 
org_id,channel_id,channel_label,channel_name

#
# hammer import content-view --csv-file CHANNELS/export.csv --verbose
Importing from CHANNELS/export.csv
Caught Errno::ENOENT:No such file or directory - /root/exports/CHANNELS/0/0.csv while processing CSV line:
{"org_id"=>nil, "channel_id"=>nil, "channel_label"=>nil, "channel_name"=>nil}
Summary
  No action taken.

This applies to all sub commands.

Expected results:
the file should not be accepted and no action should be taken.

Comment 1 RHEL Program Management 2015-05-21 12:42:37 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 Grant Gainey 2015-05-21 13:48:18 UTC
The request here is to replace the ugly 

Caught Errno::ENOENT:No such file or directory - /root/exports/CHANNELS/0/0.csv while processing CSV line:
{"org_id"=>nil, "channel_id"=>nil, "channel_label"=>nil, "channel_name"=>nil}

with some meaningful error message like "Invalid CSV CHANNELS/export.csv detected, skipping"

Resetting for 6.2

Comment 4 Tomas Lestach 2015-06-03 15:39:06 UTC
This was addressed with

hammer-cli-import.git: f518fbdca8015270eaab1fc4ba4fc31861f209bc

Comment 7 Roman Plevka 2016-03-25 23:19:59 UTC
VERIFIED

# hammer -u admin -p changeme import content-view --csv-file export.csv --verbose
Importing from export.csv
Exiting: Broken CSV in export.csv: 4 columns expected but found 0
Summary
  No action taken.

tested with SNAP5.1

Comment 10 errata-xmlrpc 2016-07-27 09:15:39 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