Bug 785091

Summary: fence_apc caught KeyError: '-p'
Product: Red Hat Enterprise Linux 6 Reporter: ryo fujita <rfujita>
Component: fence-agentsAssignee: Marek Grac <mgrac>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 6.2CC: cluster-maint, djansa
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: fence-agents-3.1.5-13.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 14:40:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Example of patch to address this error.
none
Proposed patch none

Description ryo fujita 2012-01-27 08:55:08 UTC
Created attachment 557822 [details]
Example of patch to address this error.

Description of problem:
fence_apc caught KeyError: '-p'

Version-Release number of selected component (if applicable):
fence-agents-3.1.5-10.el6

How reproducible:
Always.

Steps to Reproduce:
1. Issuing fence_apc command with -l (login) option
2.
3.
  
Actual results:
# fence_apc -l rio -n 1 -a 10.64.193.159 -o off
Traceback (most recent call last):
  File "/usr/sbin/fence_apc", line 243, in <module>
    main()
  File "/usr/sbin/fence_apc", line 222, in main
    conn = fence_login(options)
  File "/usr/share/fence/fencing.py", line 949, in fence_login
    conn.send(options["-p"] + login_eol)
KeyError: '-p'

Expected results:
# fence_apc -l rio -n 1 -a 10.64.193.159 -o off
Failed: You have to set login password
Please use '-h' for usage

Additional info:
I wrote a patch but it may affect other fence agents.

Comment 2 Marek Grac 2012-01-30 15:06:03 UTC
Created attachment 558356 [details]
Proposed patch

@Ryo:

Thanks for reporting. You are right that yours patch can hurt other agents (e.g. WTI devices can be used with login name and without password). But thanks to your report, it was quite easy to create a new patch. Feel free to comment it if needed, I believe that next week (after review on mailing list) I will create a new upstream version

Comment 3 ryo fujita 2012-01-31 00:51:30 UTC
I read your patch and totally understand how to patch the issue. Your patch is so simple!

Comment 6 Marek Grac 2012-02-20 15:43:28 UTC
Unit test & results:

# fence_apc -l LOGIN -n 1 -a IP_APC -o status
Traceback (most recent call last):
  File "/usr/sbin/fence_apc", line 243, in <module>
    main()
  File "/usr/sbin/fence_apc", line 222, in main
    conn = fence_login(options)
  File "/usr/share/fence/fencing.py", line 949, in fence_login
    conn.send(options["-p"] + login_eol)
KeyError: '-p'

after applying patch:

# fence_apc -l LOGIN -n 1 -a IP_APC -o status
Failed: You have to set login password

Comment 8 Nate Straz 2012-05-17 13:58:38 UTC
[root@west-01 ~]# fence_apc -o on -a west-apc -l apc -n 3
Failed: You have to set login password
[root@west-01 ~]# rpm -q fence-agents
fence-agents-3.1.5-16.el6.x86_64

Comment 9 errata-xmlrpc 2012-06-20 14:40:22 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-2012-0943.html