Bug 1058152

Summary: Provide better output when failing to execute the command "beaker-create-kickstart"
Product: [Retired] Beaker Reporter: xjia <xjia>
Component: command lineAssignee: Raymond Mancy <rmancy>
Status: CLOSED CURRENTRELEASE QA Contact: tools-bugs <tools-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: developCC: aigao, asaha, dcallagh, ebaak, jingwang, llim, qwan, rmancy, xtian
Target Milestone: 0.16   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-17 03:01:22 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 xjia 2014-01-27 06:00:17 UTC
Description of problem:
Execute the command "beaker-create-kickstart" without proper options, and it will prompt tracestack.
For instance:
1. Recipe doesn't exist
[root@beaker ~]# beaker-create-kickstart -r 90
/usr/lib64/python2.6/site-packages/sqlalchemy/engine/default.py:506: SAWarning: Unicode type received non-unicode bind param value
  param.append(processors[key](compiled_params[key]))
Traceback (most recent call last):
  File "/usr/bin/beaker-create-kickstart", line 9, in <module>
    load_entry_point('bkr.server==0.15.3.git.45.f493cb4', 'console_scripts', 'beaker-create-kickstart')()
  File "/usr/lib/python2.6/site-packages/bkr/server/tools/create_kickstart.py", line 57, in main
    recipe = Recipe.by_id(options.recipe_id)
  File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 1545, in by_id
    return cls.query.filter_by(id=id).one()
  File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/query.py", line 1684, in one
    raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()

2. Lack of FQDN
[root@beaker test_snippet]# beaker-create-kickstart -d 2
/usr/lib64/python2.6/site-packages/sqlalchemy/engine/default.py:506: SAWarning: Unicode type received non-unicode bind param value
  param.append(processors[key](compiled_params[key]))
Traceback (most recent call last):
  File "/usr/bin/beaker-create-kickstart", line 9, in <module>
    load_entry_point('bkr.server==0.15.3.git.45.f493cb4', 'console_scripts', 'beaker-create-kickstart')()
  File "/usr/lib/python2.6/site-packages/bkr/server/tools/create_kickstart.py", line 74, in main
    print kickstart
UnboundLocalError: local variable 'kickstart' referenced before assignment


3. FQDN is invalid
[root@beaker test_snippet]# beaker-create-kickstart -d 2  -f ah
/usr/lib64/python2.6/site-packages/sqlalchemy/engine/default.py:506: SAWarning: Unicode type received non-unicode bind param value
  param.append(processors[key](compiled_params[key]))
Traceback (most recent call last):
  File "/usr/bin/beaker-create-kickstart", line 9, in <module>
    load_entry_point('bkr.server==0.15.3.git.45.f493cb4', 'console_scripts', 'beaker-create-kickstart')()
  File "/usr/lib/python2.6/site-packages/bkr/server/tools/create_kickstart.py", line 47, in main
    system = System.by_fqdn(fqdn, user)
  File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 2294, in by_fqdn
    return System.all(user).filter(System.fqdn == fqdn).one()
  File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/query.py", line 1684, in one
    raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()


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

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:
See the description 

Expected results:
Show clearly where's wrong instead of tracetack.

Additional info:

Comment 4 Nick Coghlan 2014-02-12 08:46:54 UTC
Other higher priority issues came up in 0.15.3, postponing this change.

Comment 5 Raymond Mancy 2014-02-17 03:44:18 UTC
http://gerrit.beaker-project.org/#/c/2814/

Comment 8 Dan Callaghan 2014-03-17 03:01:22 UTC
Beaker 0.16.0 has been released.