Bug 747672

Summary: invalid email address will prevent beah from finishing recipe.
Product: [Retired] Beaker Reporter: Bill Peck <bpeck>
Component: beahAssignee: beaker-dev-list
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.7CC: bpeck, dcallagh, ebaak, mcsontos, rjoost, stl, tools-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: Misc
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-21 05:25:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Bill Peck 2011-10-20 17:52:30 UTC
Description of problem:
If a user with an invalid email address submits a job when the job completes beah will die with the following traceback:

2011-10-20 12:02:28,587 async_proc: INFO Task 63587 done. Submitting logs...
2011-10-20 12:02:28,726 _send_cmd: INFO Command ['Command', 'forward', '78e075fd-61a3-4db5-84c2-a6c53bc506e0', {'event': ['Event', 'extend_watchdog', '6b76ea7a-fe92-4a8d-95ed-65c1c143fbcd', {'source': 'beah_beaker_backend', 'id': '17b94718-0e24-4288-84ff-bd1dcffc58b8'}, None, {'timeout': 14394}]}] sent.
2011-10-20 12:02:29,683 simple_recipe: ERROR Encoutnered problem while running task '63587'.
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/beah/backends/beakerlc.py", line 538, in simple_recipe
    result = task.getResult()
  File "/usr/lib64/python2.6/site-packages/twisted/internet/defer.py", line 584, in getResult
    self.result.raiseException()
  File "/usr/lib64/python2.6/site-packages/twisted/internet/defer.py", line 605, in _deferGenerator
    result = g.next()
  File "/usr/lib/python2.6/site-packages/beah/backends/beakerlc.py", line 608, in _run_task
    thingy.getResult()
  File "/usr/lib64/python2.6/site-packages/twisted/internet/defer.py", line 584, in getResult
    self.result.raiseException()
  File "/usr/lib64/python2.6/site-packages/twisted/web/xmlrpc.py", line 307, in parseResponse
    response = xmlrpclib.loads(contents)[0][0]
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1184, in loads
    return u.close(), u.getmethodname()
  File "/usr/lib64/python2.6/xmlrpclib.py", line 838, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: 'exceptions.ValueError:Invalid e-mail address.'>


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

Comment 1 Bill Peck 2011-10-20 17:53:22 UTC
mcsontos, beah should keep re-trying here too?  We could have other failures which are transient.  Could this explain some other bugs we've seen?

Comment 2 Dan Callaghan 2012-02-01 05:26:16 UTC
This looks like the same bug as bug 784237. However should we leave this bug open for beah to retry the failed call?

Comment 3 Bill Peck 2012-02-01 13:40:59 UTC
(In reply to comment #2)
> This looks like the same bug as bug 784237. However should we leave this bug
> open for beah to retry the failed call?

agreed.  beah should retry.

Comment 4 Nick Coghlan 2012-10-17 04:39:54 UTC
Bulk reassignment of issues as Bill has moved to another team.

Comment 6 Dan Callaghan 2017-12-21 05:25:59 UTC
Beah does already have retry logic, although it doesn't apply for this type of error which is not considered transient (and indeed, it *wasn't* a transient error, at least in the sense that it would've required the user to notice and fix their email address before the call could succeed).

Anyway, this kind of failure is not really possible anymore. Nowadays the XMLRPC calls to start/stop recipes and record results are very lightweight on the Beaker side, all the activity like powering off systems and sending email notifications is done separately by the update_dirty_jobs() routine.

So I don't think there is really anything else that needs fixing here.