public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* master - [fence] Extension to fence agent for BladeCenter with 'list'/'monitor' operation
@ 2008-11-12 14:04 Marek Grác
  0 siblings, 0 replies; only message in thread
From: Marek Grác @ 2008-11-12 14:04 UTC (permalink / raw)
  To: cluster-cvs-relay

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=3993b5e73a08031ec88a25c5cfa5146d4ab3787c
Commit:        3993b5e73a08031ec88a25c5cfa5146d4ab3787c
Parent:        f0784dd704dd0f81fe655d014063a8e569153748
Author:        Marek 'marx' Grac <mgrac@redhat.com>
AuthorDate:    Wed Nov 12 13:32:05 2008 +0100
Committer:     Marek 'marx' Grac <mgrac@redhat.com>
CommitterDate: Wed Nov 12 15:01:51 2008 +0100

[fence] Extension to fence agent for BladeCenter with 'list'/'monitor' operation

---
 fence/agents/bladecenter/fence_bladecenter.py |   26 ++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/fence/agents/bladecenter/fence_bladecenter.py b/fence/agents/bladecenter/fence_bladecenter.py
index 4144b63..3d68717 100644
--- a/fence/agents/bladecenter/fence_bladecenter.py
+++ b/fence/agents/bladecenter/fence_bladecenter.py
@@ -60,6 +60,30 @@ def set_power_status(conn, options):
 	except pexpect.TIMEOUT:
 		fail(EC_TIMED_OUT)
 
+def get_blades_list(conn, options):
+	outlets = { }
+	try:
+		node_cmd = "system>"
+
+		conn.send("env -T system\r\n")
+		conn.log_expect(options, node_cmd, SHELL_TIMEOUT)
+		conn.send("list -l 2\r\n")
+		conn.log_expect(options, node_cmd, SHELL_TIMEOUT)
+
+		lines = conn.before.split("\r\n")
+		filter_re = re.compile("^\s*blade\[(\d+)\]\s+(.*?)\s*$")
+		for x in lines:
+			res = filter_re.search(x)
+			if res != None:
+				outlets[res.group(1)] = (res.group(2), "")
+
+	except pexpect.EOF:
+		fail(EC_CONNECTION_LOST)
+	except pexpect.TIMEOUT:
+		fail(EC_TIMED_OUT)
+
+	return outlets
+
 def main():
 	device_opt = [  "help", "version", "agent", "quiet", "verbose", "debug",
 			"action", "ipaddr", "login", "passwd", "passwd_script",
@@ -77,7 +101,7 @@ def main():
 	## Operate the fencing device
 	######
 	conn = fence_login(options)
-	fence_action(conn, options, set_power_status, get_power_status)
+	fence_action(conn, options, set_power_status, get_power_status, get_blades_list)
 
 	##
 	## Logout from system


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-11-12 14:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-12 14:04 master - [fence] Extension to fence agent for BladeCenter with 'list'/'monitor' operation Marek Grác

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).