public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* fence-agents: master - fencing: Create function that prints documentation
@ 2009-06-26 12:46 Marek Grác
0 siblings, 0 replies; only message in thread
From: Marek Grác @ 2009-06-26 12:46 UTC (permalink / raw)
To: cluster-cvs-relay
Gitweb: http://git.fedorahosted.org/git/fence-agents.git?p=fence-agents.git;a=commitdiff;h=21694e64d9cd6e58a4484c3b317640e836742001
Commit: 21694e64d9cd6e58a4484c3b317640e836742001
Parent: b0913e9ff4b7a2be3895577ae5d54d44a6bfb067
Author: Marek 'marx' Grac <mgrac@redhat.com>
AuthorDate: Fri Jun 26 14:41:05 2009 +0200
Committer: Marek 'marx' Grac <mgrac@redhat.com>
CommitterDate: Fri Jun 26 14:41:05 2009 +0200
fencing: Create function that prints documentation
This have to be moved because we need access also to agent specific values as they
will be presented as defaults in metadata.
---
fence/agents/alom/fence_alom.py | 4 ++-
fence/agents/apc/fence_apc.py | 2 +
fence/agents/apc_snmp/fence_apc_snmp.py | 2 +
fence/agents/bladecenter/fence_bladecenter.py | 2 +
fence/agents/cisco_mds/fence_cisco_mds.py | 2 +
fence/agents/drac/fence_drac5.py | 2 +
fence/agents/eps/fence_eps.py | 2 +
fence/agents/ibmblade/fence_ibmblade.py | 2 +
fence/agents/ifmib/fence_ifmib.py | 2 +
fence/agents/ilo/fence_ilo.py | 2 +
fence/agents/intelmodular/fence_intelmodular.py | 2 +
fence/agents/ldom/fence_ldom.py | 2 +
fence/agents/lib/fencing.py.py | 36 ++++++++++++++--------
fence/agents/lpar/fence_lpar.py | 5 ++-
fence/agents/rsa/fence_rsa.py | 2 +
fence/agents/virsh/fence_virsh.py | 2 +
fence/agents/vmware/fence_vmware.py | 2 +
fence/agents/wti/fence_wti.py | 2 +
18 files changed, 59 insertions(+), 16 deletions(-)
diff --git a/fence/agents/alom/fence_alom.py b/fence/agents/alom/fence_alom.py
index 610ec2b..5fe72aa 100644
--- a/fence/agents/alom/fence_alom.py
+++ b/fence/agents/alom/fence_alom.py
@@ -53,11 +53,13 @@ def main():
# Default command is sc>
if (not options.has_key("-c")):
- options["-c"] = "sc\>\ "
+ options["-c"] = "sc\>\ "
# Default to ssh
options["-x"] = 1
options["telnet_over_ssh"] = 1
+
+ show_docs(options)
# Operate the fencing device
conn = fence_login(options)
diff --git a/fence/agents/apc/fence_apc.py b/fence/agents/apc/fence_apc.py
index 13bad67..e4a3e3d 100755
--- a/fence/agents/apc/fence_apc.py
+++ b/fence/agents/apc/fence_apc.py
@@ -199,6 +199,8 @@ def main():
if 0 == options.has_key("-c"):
options["-c"] = "\n>"
+ show_docs(options)
+
## Support for -n [switch]:[plug] notation that was used before
if (options.has_key("-n") == 1) and (-1 != options["-n"].find(":")):
(switch, plug) = options["-n"].split(":", 1)
diff --git a/fence/agents/apc_snmp/fence_apc_snmp.py b/fence/agents/apc_snmp/fence_apc_snmp.py
index 6ff1318..91331b5 100644
--- a/fence/agents/apc_snmp/fence_apc_snmp.py
+++ b/fence/agents/apc_snmp/fence_apc_snmp.py
@@ -187,6 +187,8 @@ def main():
if (not (options.has_key("-s"))):
options["-s"]="1"
+ show_docs(options)
+
# Operate the fencing device
fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status)
diff --git a/fence/agents/bladecenter/fence_bladecenter.py b/fence/agents/bladecenter/fence_bladecenter.py
index d694966..5df4869 100644
--- a/fence/agents/bladecenter/fence_bladecenter.py
+++ b/fence/agents/bladecenter/fence_bladecenter.py
@@ -103,6 +103,8 @@ def main():
if 0 == options.has_key("-c"):
options["-c"] = "system>"
+ show_docs(options)
+
##
## Operate the fencing device
######
diff --git a/fence/agents/cisco_mds/fence_cisco_mds.py b/fence/agents/cisco_mds/fence_cisco_mds.py
index 0d57c04..67948e6 100644
--- a/fence/agents/cisco_mds/fence_cisco_mds.py
+++ b/fence/agents/cisco_mds/fence_cisco_mds.py
@@ -105,6 +105,8 @@ def main():
options = check_input(device_opt, options)
+ show_docs(options)
+
if (not (options["-o"] in ["list","monitor"])):
port_oid=cisco_port2oid(options["-n"])
diff --git a/fence/agents/drac/fence_drac5.py b/fence/agents/drac/fence_drac5.py
index af4a1ed..b669bac 100755
--- a/fence/agents/drac/fence_drac5.py
+++ b/fence/agents/drac/fence_drac5.py
@@ -96,6 +96,8 @@ def main():
if 0 == options.has_key("-c"):
options["-c"] = "\$"
+ show_docs(options)
+
##
## Operate the fencing device
######
diff --git a/fence/agents/eps/fence_eps.py b/fence/agents/eps/fence_eps.py
index f751d29..604a481 100644
--- a/fence/agents/eps/fence_eps.py
+++ b/fence/agents/eps/fence_eps.py
@@ -107,6 +107,8 @@ def main():
if (not options.has_key("-c")):
options["-c"]="hidden.htm"
+ show_docs(options)
+
#Run fence action. Conn is None, beacause we always need open new http connection
fence_action(None, options, set_power_status, get_power_status,get_power_status)
diff --git a/fence/agents/ibmblade/fence_ibmblade.py b/fence/agents/ibmblade/fence_ibmblade.py
index e6d0dac..7532221 100644
--- a/fence/agents/ibmblade/fence_ibmblade.py
+++ b/fence/agents/ibmblade/fence_ibmblade.py
@@ -69,6 +69,8 @@ def main():
options=check_input(device_opt,process_input(device_opt))
+ show_docs(options)
+
# Operate the fencing device
fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status)
diff --git a/fence/agents/ifmib/fence_ifmib.py b/fence/agents/ifmib/fence_ifmib.py
index 7473129..a6c452d 100644
--- a/fence/agents/ifmib/fence_ifmib.py
+++ b/fence/agents/ifmib/fence_ifmib.py
@@ -125,6 +125,8 @@ def main():
options = check_input(device_opt, options)
+ show_docs(options)
+
# Operate the fencing device
fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status)
diff --git a/fence/agents/ilo/fence_ilo.py b/fence/agents/ilo/fence_ilo.py
index c2fd70b..e15052d 100755
--- a/fence/agents/ilo/fence_ilo.py
+++ b/fence/agents/ilo/fence_ilo.py
@@ -65,6 +65,8 @@ def main():
options["-z"] = 1
LOGIN_TIMEOUT = 10
+ show_docs(options)
+
##
## Login and get version number
####
diff --git a/fence/agents/intelmodular/fence_intelmodular.py b/fence/agents/intelmodular/fence_intelmodular.py
index 6b68d0b..492bbc5 100644
--- a/fence/agents/intelmodular/fence_intelmodular.py
+++ b/fence/agents/intelmodular/fence_intelmodular.py
@@ -74,6 +74,8 @@ def main():
options=check_input(device_opt,process_input(device_opt))
+ show_docs(options)
+
# Operate the fencing device
fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status)
diff --git a/fence/agents/ldom/fence_ldom.py b/fence/agents/ldom/fence_ldom.py
index 021f036..e6bf656 100644
--- a/fence/agents/ldom/fence_ldom.py
+++ b/fence/agents/ldom/fence_ldom.py
@@ -98,6 +98,8 @@ def main():
options["-x"] = 1
+ show_docs(options)
+
##
## Operate the fencing device
####
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index feb01f8..3829ccc 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -481,20 +481,10 @@ def check_input(device_opt, opt):
else:
all_opt["login"]["required"] = "0"
- ## Process special options (and exit)
+ ## In special cases (show help, metadata or version) we don't need to check anything
#####
- if options.has_key("-h"):
- usage(device_opt)
- sys.exit(0)
-
- if options.has_key("-o") and options["-o"].lower() == "metadata":
- metadata(device_opt)
- sys.exit(0)
-
- if options.has_key("-V"):
- print RELEASE_VERSION, BUILD_DATE
- print REDHAT_COPYRIGHT
- sys.exit(0)
+ if options.has_key("-h") or options.has_key("-V") or (options.has_key("-o") and options["-o"].lower() == "metadata"):
+ return options;
## Set default values
#####
@@ -571,7 +561,27 @@ def wait_power_status(tn, options, get_power_fn):
return 1
return 0
+def show_docs(options):
+ device_opt = options["device_opt"]
+
+ ## Process special options (and exit)
+ #####
+ if options.has_key("-h"):
+ usage(device_opt)
+ sys.exit(0)
+
+ if options.has_key("-o") and options["-o"].lower() == "metadata":
+ metadata(device_opt)
+ sys.exit(0)
+
+ if options.has_key("-V"):
+ print RELEASE_VERSION, BUILD_DATE
+ print REDHAT_COPYRIGHT
+ sys.exit(0)
+
def fence_action(tn, options, set_power_fn, get_power_fn, get_outlet_list = None):
+ ## Process options that manipulate fencing device
+ #####
if (options["-o"] == "list") and (0 == options["device_opt"].count("port")) and (0 == options["device_opt"].count("partition")):
print "N/A"
return
diff --git a/fence/agents/lpar/fence_lpar.py b/fence/agents/lpar/fence_lpar.py
index 9a3a1c9..d3c6f53 100644
--- a/fence/agents/lpar/fence_lpar.py
+++ b/fence/agents/lpar/fence_lpar.py
@@ -140,19 +140,20 @@ def main():
options = check_input(device_opt, process_input(device_opt))
##
- ## Fence agent specific defaults
+ ## Fence agent specific settings and default values
#####
if 0 == options.has_key("-c"):
options["-c"] = [ ":~>", "]\$", "\$ " ]
if 0 == options.has_key("-x"):
fail_usage("Failed: You have to use ssh connection (-x) to fence device")
+
+ show_docs(options)
if 0 == options.has_key("-s"):
fail_usage("Failed: You have to enter name of managed system")
if (0 == ["list", "monitor"].count(options["-o"].lower())) and (0 == options.has_key("-n")):
fail_usage("Failed: You have to enter name of the partition")
-
if 1 == options.has_key("-H") and (options["-H"] != "3" and options["-H"] != "4"):
fail_usage("Failed: You have to enter valid version number: 3 or 4")
diff --git a/fence/agents/rsa/fence_rsa.py b/fence/agents/rsa/fence_rsa.py
index 1eb128e..09e878c 100644
--- a/fence/agents/rsa/fence_rsa.py
+++ b/fence/agents/rsa/fence_rsa.py
@@ -54,6 +54,8 @@ def main():
# This device will not allow us to login even with LANG=C
options["ssh_options"] = "-F /dev/null"
+
+ show_docs(options)
##
## Operate the fencing device
diff --git a/fence/agents/virsh/fence_virsh.py b/fence/agents/virsh/fence_virsh.py
index 6866fb0..038e903 100644
--- a/fence/agents/virsh/fence_virsh.py
+++ b/fence/agents/virsh/fence_virsh.py
@@ -77,6 +77,8 @@ def main():
options["ssh_options"]="-t '/bin/bash -c \"PS1=\[EXPECT\]#\ /bin/bash --noprofile --norc\"'"
+ show_docs(options)
+
## Operate the fencing device
conn = fence_login(options)
fence_action(conn, options, set_power_status, get_power_status, get_outlets_status)
diff --git a/fence/agents/vmware/fence_vmware.py b/fence/agents/vmware/fence_vmware.py
index 42dc097..10307c1 100644
--- a/fence/agents/vmware/fence_vmware.py
+++ b/fence/agents/vmware/fence_vmware.py
@@ -290,6 +290,8 @@ def main():
# Default is secure connection
options["-x"] = 1
+ show_docs(options)
+
# Check vmware type and set path
vmware_check_vmware_type(options)
diff --git a/fence/agents/wti/fence_wti.py b/fence/agents/wti/fence_wti.py
index 35b4d54..13c6b52 100644
--- a/fence/agents/wti/fence_wti.py
+++ b/fence/agents/wti/fence_wti.py
@@ -88,6 +88,8 @@ def main():
if 0 == options.has_key("-c"):
options["-c"] = [ "RSM>", "MPC>", "IPS>", "TPS>", "NBB>", "NPS>" ]
+ show_docs(options)
+
##
## Operate the fencing device
##
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-06-26 12:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-26 12:46 fence-agents: master - fencing: Create function that prints documentation 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).