Blame SOURCES/bz1250586-list_status.patch

e4ffb1
From 14d640ebddfd211c6512b5aa29df112a5fa867a4 Mon Sep 17 00:00:00 2001
e4ffb1
From: Marek 'marx' Grac <mgrac@redhat.com>
e4ffb1
Date: Wed, 5 Aug 2015 09:57:30 +0200
e4ffb1
Subject: [PATCH 1/4] fencing: Add suport for list-status
e4ffb1
e4ffb1
---
e4ffb1
 fence/agents/lib/fencing.py.py             | 55 +++++++++++++++++-------------
e4ffb1
 fence/agents/ovh/fence_ovh.py              |  3 ++
e4ffb1
 tests/data/metadata/fence_alom.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_amt.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_apc.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_apc_snmp.xml     |  1 +
e4ffb1
 tests/data/metadata/fence_bladecenter.xml  |  1 +
e4ffb1
 tests/data/metadata/fence_brocade.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_cisco_mds.xml    |  1 +
e4ffb1
 tests/data/metadata/fence_cisco_ucs.xml    |  1 +
e4ffb1
 tests/data/metadata/fence_compute.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_docker.xml       |  1 +
e4ffb1
 tests/data/metadata/fence_drac.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_drac5.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_dummy.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_eaton_snmp.xml   |  1 +
e4ffb1
 tests/data/metadata/fence_emerson.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_eps.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_hds_cb.xml       |  1 +
e4ffb1
 tests/data/metadata/fence_hpblade.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_ibmblade.xml     |  1 +
e4ffb1
 tests/data/metadata/fence_idrac.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_ifmib.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_ilo.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_ilo2.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_ilo3.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_ilo3_ssh.xml     |  1 +
e4ffb1
 tests/data/metadata/fence_ilo4.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_ilo4_ssh.xml     |  1 +
e4ffb1
 tests/data/metadata/fence_ilo_moonshot.xml |  1 +
e4ffb1
 tests/data/metadata/fence_ilo_mp.xml       |  1 +
e4ffb1
 tests/data/metadata/fence_ilo_ssh.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_imm.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_intelmodular.xml |  1 +
e4ffb1
 tests/data/metadata/fence_ipdu.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_ipmilan.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_ldom.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_lpar.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_mpath.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_netio.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_ovh.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_pve.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_raritan.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_rhevm.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_rsa.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_rsb.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_sanbox2.xml      |  1 +
e4ffb1
 tests/data/metadata/fence_scsi.xml         |  1 +
e4ffb1
 tests/data/metadata/fence_virsh.xml        |  1 +
e4ffb1
 tests/data/metadata/fence_vmware_soap.xml  |  1 +
e4ffb1
 tests/data/metadata/fence_wti.xml          |  1 +
e4ffb1
 tests/data/metadata/fence_xenapi.xml       |  1 +
e4ffb1
 tests/data/metadata/fence_zvmip.xml        |  1 +
e4ffb1
 53 files changed, 85 insertions(+), 24 deletions(-)
e4ffb1
e4ffb1
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
e4ffb1
index 377c63f..89c3379 100644
e4ffb1
--- a/fence/agents/lib/fencing.py.py
e4ffb1
+++ b/fence/agents/lib/fencing.py.py
e4ffb1
@@ -584,6 +584,7 @@ def metadata(avail_opt, options, docs):
e4ffb1
 	if avail_opt.count("no_status") == 0:
e4ffb1
 		print "\t<action name=\"status\" />"
e4ffb1
 	print "\t<action name=\"list\" />"
e4ffb1
+	print "\t<action name=\"list-status\" />"
e4ffb1
 	print "\t<action name=\"monitor\" />"
e4ffb1
 	print "\t<action name=\"metadata\" />"
e4ffb1
 	print "</actions>"
e4ffb1
@@ -758,7 +759,7 @@ def check_input(device_opt, opt):
e4ffb1
 	## add loggint to stderr
e4ffb1
 	logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stderr))
e4ffb1
 
e4ffb1
-	acceptable_actions = ["on", "off", "status", "list", "monitor"]
e4ffb1
+	acceptable_actions = ["on", "off", "status", "list", "list-status", "monitor"]
e4ffb1
 	if 1 == device_opt.count("fabric_fencing"):
e4ffb1
 		## Compatibility layer
e4ffb1
 		#####
e4ffb1
@@ -807,7 +808,7 @@ def check_input(device_opt, opt):
e4ffb1
 		if not os.path.isfile(options["--identity-file"]):
e4ffb1
 			fail_usage("Failed: Identity file " + options["--identity-file"] + " does not exist")
e4ffb1
 
e4ffb1
-	if (0 == ["list", "monitor"].count(options["--action"])) and \
e4ffb1
+	if (0 == ["list", "list-status", "monitor"].count(options["--action"])) and \
e4ffb1
 		not options.has_key("--plug") and device_opt.count("port") and \
e4ffb1
 		device_opt.count("no_port") == 0 and not device_opt.count("port_as_ip"):
e4ffb1
 		fail_usage("Failed: You have to enter plug number or machine identification")
e4ffb1
@@ -923,28 +924,34 @@ def fence_action(tn, options, set_power_fn, get_power_fn, get_outlet_list=None,
e4ffb1
 
e4ffb1
 		## Process options that manipulate fencing device
e4ffb1
 		#####
e4ffb1
-		if options["--action"] == "list" and 0 == options["device_opt"].count("port"):
e4ffb1
-			print "N/A"
e4ffb1
-			return
e4ffb1
-		elif options["--action"] == "list" and get_outlet_list == None:
e4ffb1
-			## @todo: exception?
e4ffb1
-			## This is just temporal solution, we will remove default value
e4ffb1
-			## None as soon as all existing agent will support this operation
e4ffb1
-			print "NOTICE: List option is not working on this device yet"
e4ffb1
-			return
e4ffb1
-		elif (options["--action"] == "list") or \
e4ffb1
-				((options["--action"] == "monitor") and 1 == options["device_opt"].count("port")):
e4ffb1
-			options["--original-action"] = options["--action"]
e4ffb1
-			options["--action"] = "list"
e4ffb1
-			outlets = get_outlet_list(tn, options)
e4ffb1
-			options["--action"] = options["--original-action"]
e4ffb1
-			del options["--original-action"]
e4ffb1
-
e4ffb1
-			## keys can be numbers (port numbers) or strings (names of VM)
e4ffb1
-			for outlet_id in outlets.keys():
e4ffb1
-				(alias, status) = outlets[outlet_id]
e4ffb1
-				if options["--action"] != "monitor":
e4ffb1
-					print outlet_id + options["--separator"] + alias
e4ffb1
+		if options["--action"] in ["list", "list-status"] or \
e4ffb1
+			((options["--action"] == "monitor") and 1 == options["device_opt"].count("port")):
e4ffb1
+
e4ffb1
+			if 0 == options["device_opt"].count("port"):
e4ffb1
+				print "N/A"
e4ffb1
+			elif get_outlet_list == None:
e4ffb1
+				## @todo: exception?
e4ffb1
+				## This is just temporal solution, we will remove default value
e4ffb1
+				## None as soon as all existing agent will support this operation
e4ffb1
+				print "NOTICE: List option is not working on this device yet"
e4ffb1
+			else:
e4ffb1
+				options["--original-action"] = options["--action"]
e4ffb1
+				options["--action"] = "list"
e4ffb1
+				outlets = get_outlet_list(tn, options)
e4ffb1
+				options["--action"] = options["--original-action"]
e4ffb1
+				del options["--original-action"]
e4ffb1
+
e4ffb1
+				## keys can be numbers (port numbers) or strings (names of VM)
e4ffb1
+				for outlet_id in outlets.keys():
e4ffb1
+					(alias, status) = outlets[outlet_id]
e4ffb1
+					status = status.upper()
e4ffb1
+					if not status in ["ON", "OFF"]:
e4ffb1
+						status = "UNKNOWN"
e4ffb1
+
e4ffb1
+					if options["--action"] == "list":
e4ffb1
+						print outlet_id + options["--separator"] + alias
e4ffb1
+					elif options["--action"] == "list-status":
e4ffb1
+						print outlet_id + options["--separator"] + alias + options["--separator"] + status
e4ffb1
 			return
e4ffb1
 
e4ffb1
 		status = get_multi_power_fn(tn, options, get_power_fn)
e4ffb1
diff --git a/fence/agents/ovh/fence_ovh.py b/fence/agents/ovh/fence_ovh.py
e4ffb1
index 14a0706..1fef7e3 100644
e4ffb1
--- a/fence/agents/ovh/fence_ovh.py
e4ffb1
+++ b/fence/agents/ovh/fence_ovh.py
e4ffb1
@@ -97,6 +97,9 @@ Poweroff is simulated with a reboot into rescue-pro mode."
e4ffb1
 	if options["--action"] == "list":
e4ffb1
 		fail_usage("Action 'list' is not supported in this fence agent")
e4ffb1
 
e4ffb1
+	if options["--action"] == "list-status":
e4ffb1
+		fail_usage("Action 'list-status' is not supported in this fence agent")
e4ffb1
+
e4ffb1
 	if options["--action"] != "monitor" and not options["--plug"].endswith(".ovh.net"):
e4ffb1
 		options["--plug"] += ".ovh.net"
e4ffb1
 
e4ffb1
diff --git a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
e4ffb1
index 32e6630..dfbe431 100644
e4ffb1
--- a/tests/data/metadata/fence_alom.xml
e4ffb1
+++ b/tests/data/metadata/fence_alom.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
e4ffb1
index 8524180..17e38fc 100644
e4ffb1
--- a/tests/data/metadata/fence_amt.xml
e4ffb1
+++ b/tests/data/metadata/fence_amt.xml
e4ffb1
@@ -134,6 +134,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml
e4ffb1
index 441de61..8233101 100644
e4ffb1
--- a/tests/data/metadata/fence_apc.xml
e4ffb1
+++ b/tests/data/metadata/fence_apc.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml
e4ffb1
index 886f1b0..d433735 100644
e4ffb1
--- a/tests/data/metadata/fence_apc_snmp.xml
e4ffb1
+++ b/tests/data/metadata/fence_apc_snmp.xml
e4ffb1
@@ -159,6 +159,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml
e4ffb1
index ec1b011..7058c18 100644
e4ffb1
--- a/tests/data/metadata/fence_bladecenter.xml
e4ffb1
+++ b/tests/data/metadata/fence_bladecenter.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml
e4ffb1
index 5373d0e..6f69230 100644
e4ffb1
--- a/tests/data/metadata/fence_brocade.xml
e4ffb1
+++ b/tests/data/metadata/fence_brocade.xml
e4ffb1
@@ -129,6 +129,7 @@
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml
e4ffb1
index add75f3..df4aa61 100644
e4ffb1
--- a/tests/data/metadata/fence_cisco_mds.xml
e4ffb1
+++ b/tests/data/metadata/fence_cisco_mds.xml
e4ffb1
@@ -158,6 +158,7 @@
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml
e4ffb1
index 66fc576..9834f5a 100644
e4ffb1
--- a/tests/data/metadata/fence_cisco_ucs.xml
e4ffb1
+++ b/tests/data/metadata/fence_cisco_ucs.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_compute.xml
e4ffb1
index 2c488c5..846a861 100644
e4ffb1
--- a/tests/data/metadata/fence_compute.xml
e4ffb1
+++ b/tests/data/metadata/fence_compute.xml
e4ffb1
@@ -120,6 +120,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
e4ffb1
index d100b8c..2c2261a 100644
e4ffb1
--- a/tests/data/metadata/fence_docker.xml
e4ffb1
+++ b/tests/data/metadata/fence_docker.xml
e4ffb1
@@ -133,6 +133,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
e4ffb1
index d480669..37697f7 100644
e4ffb1
--- a/tests/data/metadata/fence_drac.xml
e4ffb1
+++ b/tests/data/metadata/fence_drac.xml
e4ffb1
@@ -115,6 +115,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml
e4ffb1
index d96484c..c1a78aa 100644
e4ffb1
--- a/tests/data/metadata/fence_drac5.xml
e4ffb1
+++ b/tests/data/metadata/fence_drac5.xml
e4ffb1
@@ -139,6 +139,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml
e4ffb1
index 9295544..eb31244 100644
e4ffb1
--- a/tests/data/metadata/fence_dummy.xml
e4ffb1
+++ b/tests/data/metadata/fence_dummy.xml
e4ffb1
@@ -90,6 +90,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml
e4ffb1
index 1cf0436..7bbe054 100644
e4ffb1
--- a/tests/data/metadata/fence_eaton_snmp.xml
e4ffb1
+++ b/tests/data/metadata/fence_eaton_snmp.xml
e4ffb1
@@ -159,6 +159,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_emerson.xml b/tests/data/metadata/fence_emerson.xml
e4ffb1
index 553fc37..b79186c 100644
e4ffb1
--- a/tests/data/metadata/fence_emerson.xml
e4ffb1
+++ b/tests/data/metadata/fence_emerson.xml
e4ffb1
@@ -159,6 +159,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml
e4ffb1
index a64ce8e..fcf72b8 100644
e4ffb1
--- a/tests/data/metadata/fence_eps.xml
e4ffb1
+++ b/tests/data/metadata/fence_eps.xml
e4ffb1
@@ -117,6 +117,7 @@ Agent basically works by connecting to hidden page and pass appropriate argument
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml
e4ffb1
index 8f5279a..3230916 100644
e4ffb1
--- a/tests/data/metadata/fence_hds_cb.xml
e4ffb1
+++ b/tests/data/metadata/fence_hds_cb.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml
e4ffb1
index a8a2b3a..a9948c7 100644
e4ffb1
--- a/tests/data/metadata/fence_hpblade.xml
e4ffb1
+++ b/tests/data/metadata/fence_hpblade.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml
e4ffb1
index 4731e5e..175df9b 100644
e4ffb1
--- a/tests/data/metadata/fence_ibmblade.xml
e4ffb1
+++ b/tests/data/metadata/fence_ibmblade.xml
e4ffb1
@@ -159,6 +159,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
e4ffb1
index 41ab729..b742161 100644
e4ffb1
--- a/tests/data/metadata/fence_idrac.xml
e4ffb1
+++ b/tests/data/metadata/fence_idrac.xml
e4ffb1
@@ -161,6 +161,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml
e4ffb1
index 7faf2ab..49de1b3 100644
e4ffb1
--- a/tests/data/metadata/fence_ifmib.xml
e4ffb1
+++ b/tests/data/metadata/fence_ifmib.xml
e4ffb1
@@ -160,6 +160,7 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
e4ffb1
index bcb3d15..891b7f1 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo.xml
e4ffb1
@@ -141,6 +141,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
e4ffb1
index 95bf32a..7ff697f 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo2.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo2.xml
e4ffb1
@@ -141,6 +141,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
e4ffb1
index e09e5e1..05fd01c 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo3.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo3.xml
e4ffb1
@@ -161,6 +161,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo3_ssh.xml b/tests/data/metadata/fence_ilo3_ssh.xml
e4ffb1
index 1bf85e7..ebdae65 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo3_ssh.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo3_ssh.xml
e4ffb1
@@ -140,6 +140,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
e4ffb1
index 9450e56..4f29073 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo4.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo4.xml
e4ffb1
@@ -161,6 +161,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo4_ssh.xml b/tests/data/metadata/fence_ilo4_ssh.xml
e4ffb1
index 3779ce7..197d627 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo4_ssh.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo4_ssh.xml
e4ffb1
@@ -140,6 +140,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml
e4ffb1
index d7f2bc9..41303e2 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo_moonshot.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo_moonshot.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
e4ffb1
index 145fb36..d2396e9 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo_mp.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo_mp.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ilo_ssh.xml b/tests/data/metadata/fence_ilo_ssh.xml
e4ffb1
index 6eb4ae4..1d79308 100644
e4ffb1
--- a/tests/data/metadata/fence_ilo_ssh.xml
e4ffb1
+++ b/tests/data/metadata/fence_ilo_ssh.xml
e4ffb1
@@ -140,6 +140,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
e4ffb1
index 2e7d65c..0302f84 100644
e4ffb1
--- a/tests/data/metadata/fence_imm.xml
e4ffb1
+++ b/tests/data/metadata/fence_imm.xml
e4ffb1
@@ -161,6 +161,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml
e4ffb1
index 707b37a..9d33115 100644
e4ffb1
--- a/tests/data/metadata/fence_intelmodular.xml
e4ffb1
+++ b/tests/data/metadata/fence_intelmodular.xml
e4ffb1
@@ -161,6 +161,7 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml
e4ffb1
index 66fa768..f656c1c 100644
e4ffb1
--- a/tests/data/metadata/fence_ipdu.xml
e4ffb1
+++ b/tests/data/metadata/fence_ipdu.xml
e4ffb1
@@ -159,6 +159,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
e4ffb1
index ae528de..4ed67eb 100644
e4ffb1
--- a/tests/data/metadata/fence_ipmilan.xml
e4ffb1
+++ b/tests/data/metadata/fence_ipmilan.xml
e4ffb1
@@ -161,6 +161,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml
e4ffb1
index 082fd82..bab164a 100644
e4ffb1
--- a/tests/data/metadata/fence_ldom.xml
e4ffb1
+++ b/tests/data/metadata/fence_ldom.xml
e4ffb1
@@ -132,6 +132,7 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml
e4ffb1
index 9b6d62d..8c82925 100644
e4ffb1
--- a/tests/data/metadata/fence_lpar.xml
e4ffb1
+++ b/tests/data/metadata/fence_lpar.xml
e4ffb1
@@ -143,6 +143,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml
e4ffb1
index ccd41ff..d3de9d5 100644
e4ffb1
--- a/tests/data/metadata/fence_mpath.xml
e4ffb1
+++ b/tests/data/metadata/fence_mpath.xml
e4ffb1
@@ -100,6 +100,7 @@ The fence_mpath agent works by having an unique key for each pair of node and de
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml
e4ffb1
index f47238c..94db07e 100644
e4ffb1
--- a/tests/data/metadata/fence_netio.xml
e4ffb1
+++ b/tests/data/metadata/fence_netio.xml
e4ffb1
@@ -110,6 +110,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_ovh.xml b/tests/data/metadata/fence_ovh.xml
e4ffb1
index 522da6c..bf7ebfe 100644
e4ffb1
--- a/tests/data/metadata/fence_ovh.xml
e4ffb1
+++ b/tests/data/metadata/fence_ovh.xml
e4ffb1
@@ -94,6 +94,7 @@
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_pve.xml b/tests/data/metadata/fence_pve.xml
e4ffb1
index 86c3cd7..99894e5 100644
e4ffb1
--- a/tests/data/metadata/fence_pve.xml
e4ffb1
+++ b/tests/data/metadata/fence_pve.xml
e4ffb1
@@ -115,6 +115,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml
e4ffb1
index e970b99..d3a0d50 100644
e4ffb1
--- a/tests/data/metadata/fence_raritan.xml
e4ffb1
+++ b/tests/data/metadata/fence_raritan.xml
e4ffb1
@@ -110,6 +110,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml
e4ffb1
index e0c9516..aa033eb 100644
e4ffb1
--- a/tests/data/metadata/fence_rhevm.xml
e4ffb1
+++ b/tests/data/metadata/fence_rhevm.xml
e4ffb1
@@ -135,6 +135,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml
e4ffb1
index aa9caaa..3f3a336 100644
e4ffb1
--- a/tests/data/metadata/fence_rsa.xml
e4ffb1
+++ b/tests/data/metadata/fence_rsa.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml
e4ffb1
index b400d7e..36b9cdb 100644
e4ffb1
--- a/tests/data/metadata/fence_rsb.xml
e4ffb1
+++ b/tests/data/metadata/fence_rsb.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml
e4ffb1
index 06826b6..950c629 100644
e4ffb1
--- a/tests/data/metadata/fence_sanbox2.xml
e4ffb1
+++ b/tests/data/metadata/fence_sanbox2.xml
e4ffb1
@@ -114,6 +114,7 @@
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_scsi.xml b/tests/data/metadata/fence_scsi.xml
e4ffb1
index ba80e8c..d370e36 100644
e4ffb1
--- a/tests/data/metadata/fence_scsi.xml
e4ffb1
+++ b/tests/data/metadata/fence_scsi.xml
e4ffb1
@@ -110,6 +110,7 @@ The fence_scsi agent works by having each node in the cluster register a unique
e4ffb1
 	<action name="off" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml
e4ffb1
index 5febd77..3546a2c 100644
e4ffb1
--- a/tests/data/metadata/fence_virsh.xml
e4ffb1
+++ b/tests/data/metadata/fence_virsh.xml
e4ffb1
@@ -137,6 +137,7 @@ By default, virsh needs root account to do properly work. So you must allow ssh
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml
e4ffb1
index 1308c85..fb54ef7 100644
e4ffb1
--- a/tests/data/metadata/fence_vmware_soap.xml
e4ffb1
+++ b/tests/data/metadata/fence_vmware_soap.xml
e4ffb1
@@ -132,6 +132,7 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_wti.xml b/tests/data/metadata/fence_wti.xml
e4ffb1
index c7cb9d1..5f2566a 100644
e4ffb1
--- a/tests/data/metadata/fence_wti.xml
e4ffb1
+++ b/tests/data/metadata/fence_wti.xml
e4ffb1
@@ -130,6 +130,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_xenapi.xml b/tests/data/metadata/fence_xenapi.xml
e4ffb1
index 0dd0a78..6040e85 100644
e4ffb1
--- a/tests/data/metadata/fence_xenapi.xml
e4ffb1
+++ b/tests/data/metadata/fence_xenapi.xml
e4ffb1
@@ -95,6 +95,7 @@
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
diff --git a/tests/data/metadata/fence_zvmip.xml b/tests/data/metadata/fence_zvmip.xml
e4ffb1
index 993dfb3..c688f42 100644
e4ffb1
--- a/tests/data/metadata/fence_zvmip.xml
e4ffb1
+++ b/tests/data/metadata/fence_zvmip.xml
e4ffb1
@@ -137,6 +137,7 @@ Where XXXXXXX is the name of the virtual machine used in the authuser field of t
e4ffb1
 	<action name="reboot" />
e4ffb1
 	<action name="status" />
e4ffb1
 	<action name="list" />
e4ffb1
+	<action name="list-status" />
e4ffb1
 	<action name="monitor" />
e4ffb1
 	<action name="metadata" />
e4ffb1
 </actions>
e4ffb1
-- 
e4ffb1
1.9.3
e4ffb1