+ return len(set(running_nodes)) == 1 and running_nodes[0] in nodelist and not running_nodes[0] == nodename
+
+def define_new_opts():
+ all_opt["nodename"] = {
+ "getopt" : "n:",
+ "longopt" : "nodename",
+ "required" : "1",
+ "help" : "-n, --nodename=[nodename] Name of node to be fenced",
+ "shortdesc" : "Name of node to be fenced",
+ "default" : "",
+ "order" : 1
+ }
+ all_opt["resource"] = {
+ "getopt" : "r:",
+ "longopt" : "resource",
+ "required" : "1",
+ "help" : "-r, --resource=[resource-id] ID of the resource that should be running on the ACT node. It does not make sense to specify a cloned or bundled resource unless it is promotable and has only a single master instance.",
+ "shortdesc" : "Resource ID. It does not make sense to specify a cloned or bundled resource unless it is promotable and has only a single master instance.",
+ "default" : "",
+ "order" : 1
+ }
+ all_opt["standby_wait"] = {
+ "getopt" : "w:",
+ "longopt" : "standby-wait",
+ "required" : "0",
+ "help" : "-w, --standby-wait=[seconds] Wait X seconds on SBY node. The agent will delay but not succeed.",
+ "shortdesc" : "Wait X seconds on SBY node. The agent will delay but not succeed.",
+ "default" : "5",
+ "order" : 1
+ }
+ all_opt["crm_mon_path"] = {
+ "getopt" : ":",
+ "longopt" : "crm-mon-path",
+ "required" : "0",
+ "help" : "--crm-mon-path=[path] Path to crm_mon",
+ "shortdesc" : "Path to crm_mon command",
+ "default" : "@CRM_MON_PATH@",
+ "order" : 1
+ }
+ all_opt["crm_node_path"] = {
+ "getopt" : ":",
+ "longopt" : "crm-node-path",
+ "required" : "0",
+ "help" : "--crm-node-path=[path] Path to crm_node",
for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
if [ "$(abs_builddir)" = "$(abs_top_builddir)/lib" ]; then \
rm -rf $(TARGET) __pycache__; \
fi
install-exec-hook: $(TARGET)
if [ -n "$(man8dir)" ]; then \
echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
fi
for p in $(TARGET); do \
dir=`dirname $$p`; \
for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
for x in \`PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"\`; do \
+<resource-agent name="fence_heuristics_resource" shortdesc="Fence agent for resource-heuristic based fencing delay" >
+<longdesc>fence_heuristics_resource uses resource-heuristics to delay execution of fence agent running on next level.
+
+This is not a fence agent by itself! Its only purpose is to delay execution of another fence agent that lives on next fencing level. Note that this agent always returns FALSE. Therefore, subsequent agents on the same fencing level will not run</longdesc>
+ <shortdesc lang="en">Resource ID. It does not make sense to specify a cloned or bundled resource unless it is promotable and has only a single master instance.</shortdesc>