Bug 971775

Summary: [RHS-C] Resolving missing hook is showing "Internal Engine Error"
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Prasanth <pprakash>
Component: rhscAssignee: Timothy Asir <tjeyasin>
Status: CLOSED ERRATA QA Contact: Prasanth <pprakash>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.1CC: dtsang, knarra, mmahoney, pprakash, rhs-bugs, sabose, sdharane, ssampat
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: vdsm-4.10.2-22.3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-23 22:25:45 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:
Attachments:
Description Flags
screenshot of error
none
vdsm logs
none
engine logs none

Description Prasanth 2013-06-07 09:09:20 UTC
Created attachment 758066 [details]
screenshot of error

Description of problem: Resolving missing hook is showing "Internal Engine Error" for the first time. But the file is actually getting removed from the back-end. However, if we perform the action again, it succeeds in the UI as well.

Following traceback is seen in the vdsm logs:

----------
Thread-135756::DEBUG::2013-06-06 21:06:05,104::BindingXMLRPC::913::vds::(wrapper) client [10.70.36.85]::call hooksList with () {} flowID [2dddf26b]
Thread-135756::DEBUG::2013-06-06 21:06:05,109::BindingXMLRPC::920::vds::(wrapper) return hooksList with {'status': {'message': 'Done', 'code': 0}, 'hooksList': [{'status': 'ENABLED', 'name': '30samba-stop.sh', 'level': 'PRE', 'md5sum': '6589a82125403778c5b23eb60975a49e', 'command': 'stop', 'type': 'text/x-shellscript; charset=us-ascii'}, {'status': 'ENABLED', 'name': '29CTDB-teardown.sh', 'level': 'PRE', 'md5sum': 'c5b3ca8c807d768be881b3c7fd2e4beb', 'command': 'stop', 'type': 'text/x-shellscript; charset=us-ascii'}, {'status': 'ENABLED', 'name': '30samba-start.sh', 'level': 'POST', 'md5sum': '675ee7cf03e125dcacbec3fba523bbfc', 'command': 'start', 'type': 'text/x-shellscript; charset=us-ascii'}, {'status': 'ENABLED', 'name': '29CTDBsetup.sh', 'level': 'POST', 'md5sum': '7eb10305bd3611b04479b90a34fd026b', 'command': 'start', 'type': 'text/x-shellscript; charset=us-ascii'}, {'status': 'ENABLED', 'name': '30samba-set.sh', 'level': 'POST', 'md5sum': 'e1dae56e96326aa8ea26544a3254b748', 'command': 'set', 'type': 'text/x-shellscript; charset=us-ascii'}, {'status': 'ENABLED', 'name': '32binaryhooknew.sh', 'level': 'POST', 'md5sum': '9f38bf50e3d8f709bbd2e9afa0b8b0ee', 'command': 'set', 'type': 'application/x-executable; charset=binary'}, {'status': 'ENABLED', 'name': '33resolvehooktest1.sh', 'level': 'POST', 'md5sum': '1a0b8481099094d97ad35f7668d5ed63', 'command': 'set', 'type': 'text/plain; charset=us-ascii'}]}
Thread-135757::DEBUG::2013-06-06 21:06:05,314::BindingXMLRPC::913::vds::(wrapper) client [10.70.36.85]::call hookRemove with ('set', 'POST', '33resolvehooktest1.sh') {} flowID [1643b709]
Thread-135757::ERROR::2013-06-06 21:06:05,317::BindingXMLRPC::932::vds::(wrapper) unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/BindingXMLRPC.py", line 918, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/gluster/api.py", line 32, in wrapper
    rv = func(*args, **kwargs)
  File "/usr/share/vdsm/gluster/api.py", line 251, in hookRemove
    self.svdsmProxy.glusterHookRemove(glusterCmd, hookLevel, hookName)
  File "/usr/share/vdsm/supervdsm.py", line 76, in __call__
    return callMethod()
  File "/usr/share/vdsm/supervdsm.py", line 67, in <lambda>
    **kwargs)
  File "<string>", line 2, in glusterHookRemove
  File "/usr/lib64/python2.6/multiprocessing/managers.py", line 740, in _callmethod
    raise convert_to_error(kind, result)
UnboundLocalError: local variable 'e' referenced before assignment
----------------


Version-Release number of selected component (if applicable):  Red Hat Storage Console Version: 2.1.0-0.bb2.el6rhs 


How reproducible: Always


Steps to Reproduce:
1. Manually create a hook and make sure it got updated in the UI and conflict message will be seen in the Events
2. In the UI, select that hook and click on "Resolve Conflicts
3. Under "Resolve Actions", select the radio button: "Remove the Missing Hook" and click on OK

You will see the error at this point!


Actual results: File is actually getting removed from the RHS node, but the following error is seen in the UI:

---
Error while executing action Remove Gluster Hook: Internal Engine Error
---

However, if you try to perform the same action again, it doesn't show this error in the UI and the action succeeds.

Expected results: The Resolve action should be successful at any point of time.


Additional info: Screenshot attached. vdsm and engine logs will be attached soon.

Comment 1 Prasanth 2013-06-07 09:13:11 UTC
Created attachment 758067 [details]
vdsm logs

Comment 2 Prasanth 2013-06-07 09:14:02 UTC
Created attachment 758068 [details]
engine logs

Comment 4 Prasanth 2013-06-14 07:16:50 UTC
Verified as fixed in vdsm-4.10.2-22.3

Comment 5 Scott Haines 2013-09-23 22:25:45 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.

http://rhn.redhat.com/errata/RHBA-2013-1262.html