Hello,

Working with heartbeat 2.1.3.
I've had some problems getting the external/ibmrsa-telnet stonith device to 
work.
In my logs I found the following:

Jun 27 10:42:58 log1 stonithd: [24079]: info: external_run_cmd: Calling 
'/usr/lib/stonith/plugins/external/ibmrsa-telnet reset log2' returned 256
Jun 27 10:42:58 log1 stonithd: [24079]: CRIT: external_reset_req: 
'ibmrsa-telnet reset' for host log2 failed with rc 256

And after turning on debugging in the ibmrsa-telnet script:

2008-06-27 11:17:32,599: ibmrsa-telnet: ========== Start =============
2008-06-27 11:17:32,599: ibmrsa-telnet: STDOUT: ERROR: ibmrsa-telnet: Exactly 
one commandline argument required.
2008-06-27 11:17:32,599: ibmrsa-telnet: ERROR: ibmrsa-telnet: Exactly one 
commandline argument required.
2008-06-27 11:17:32,599: ibmrsa-telnet: STDOUT: Call me with one of the allowed 
commands: reset, gethosts, status, getconfignames, getinfo-devid, 
getinfo-devname, getinfo-devdescr, getinfo-devurl, getinfo-xml, on, off

Clearly, stonith is sending 2 arguments to the script; the reset command and the
nodename, where ibmrsa-telnet accepts only one argument.

I made a quick'n dirty patch to the script (see below) which works for me, but
now I wonder if anyone else is using this and if maybe there's a cleaner way to
do this.

regards,
Ruben

--- /usr/lib/stonith/plugins/external/ibmrsa-telnet.orig        2008-06-27 
11:26:21.000000000 +0200
+++ /usr/lib/stonith/plugins/external/ibmrsa-telnet     2008-06-27 
11:32:16.000000000 +0200
@@ -314,10 +314,13 @@
 
     def process(self, argv):
         self._echo_debug("========== Start =============")
-        if len(argv) <> 1:
-            self.echo_log("ERROR", 'Exactly one commandline argument 
required.')
+        if len(argv) < 1:
+            self.echo_log("ERROR", 'No commandline argument specified.')
             self.echo(self.usage())
             return(1)
+        if len(argv) > 1:
+            self.echo_log("WARN", 'Too many commandline arguments specified.')
+            self.echo(self.usage())
         cmd = argv[0]
         self._echo_debug("cmd:", cmd)
         if cmd not in self._required_cmds_list and \


_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to