Skip to content

Commit

Permalink
fencing: Add --quiet option to disable logging to stderr
Browse files Browse the repository at this point in the history
  • Loading branch information
n3world committed Dec 21, 2016
1 parent 0b6d8c6 commit e867a20
Show file tree
Hide file tree
Showing 63 changed files with 329 additions and 8 deletions.
16 changes: 12 additions & 4 deletions fence/agents/autodetect/fencing.py
Expand Up @@ -435,13 +435,20 @@
"on_target": {
"getopt" : "",
"help" : "",
"order" : 1}
"order" : 1},
"quiet": {
"getopt" : "q",
"longopt": "quiet",
"help" : "-q, --quiet Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.",
"required" : "0",
"order" : 50}
}

# options which are added automatically if 'key' is encountered ("default" is always added)
DEPENDENCY_OPT = {
"default" : ["help", "debug", "verbose", "version", "action", "agent", \
"power_timeout", "shell_timeout", "login_timeout", "power_wait", "retry_on", "delay"],
"power_timeout", "shell_timeout", "login_timeout", "power_wait", "retry_on", \
"delay", "quiet"],
"passwd" : ["passwd_script"],
"sudo" : ["sudo_path"],
"secure" : ["identity_file", "ssh_options", "ssh_path"],
Expand Down Expand Up @@ -642,8 +649,9 @@ def check_input(device_opt, opt, other_conditions = False):

## add logging to syslog
logging.getLogger().addHandler(SyslogLibHandler())
## add logging to stderr
logging.getLogger().addHandler(logging.StreamHandler(sys.stderr))
if not options.has_key("--quiet"):
## add logging to stderr
logging.getLogger().addHandler(logging.StreamHandler(sys.stderr))

(acceptable_actions, _) = _get_available_actions(device_opt)

Expand Down
16 changes: 12 additions & 4 deletions fence/agents/lib/fencing.py.py
Expand Up @@ -445,13 +445,20 @@
"on_target": {
"getopt" : "",
"help" : "",
"order" : 1}
"order" : 1},
"quiet": {
"getopt" : "q",
"longopt": "quiet",
"help" : "-q, --quiet Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.",
"required" : "0",
"order" : 50}
}

# options which are added automatically if 'key' is encountered ("default" is always added)
DEPENDENCY_OPT = {
"default" : ["help", "debug", "verbose", "version", "action", "agent", \
"power_timeout", "shell_timeout", "login_timeout", "power_wait", "retry_on", "delay"],
"power_timeout", "shell_timeout", "login_timeout", "power_wait", "retry_on", \
"delay", "quiet"],
"passwd" : ["passwd_script"],
"sudo" : ["sudo_path"],
"secure" : ["identity_file", "ssh_options", "ssh_path"],
Expand Down Expand Up @@ -652,8 +659,9 @@ def check_input(device_opt, opt, other_conditions = False):

## add logging to syslog
logging.getLogger().addHandler(SyslogLibHandler())
## add logging to stderr
logging.getLogger().addHandler(logging.StreamHandler(sys.stderr))
if "--quiet" not in options:
## add logging to stderr
logging.getLogger().addHandler(logging.StreamHandler(sys.stderr))

(acceptable_actions, _) = _get_available_actions(device_opt)

Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_alom.xml
Expand Up @@ -68,6 +68,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_amt.xml
Expand Up @@ -62,6 +62,11 @@
<content type="string" />
<shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_amt_ws.xml
Expand Up @@ -62,6 +62,11 @@
<content type="string" />
<shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_apc.xml
Expand Up @@ -73,6 +73,11 @@
<content type="string" />
<shortdesc lang="en">Physical switch number on device</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_apc_snmp.xml
Expand Up @@ -98,6 +98,11 @@
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_azure_arm.xml
Expand Up @@ -43,6 +43,11 @@
<content type="string" />
<shortdesc lang="en">Id of the Azure subscription.</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_bladecenter.xml
Expand Up @@ -68,6 +68,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_brocade.xml
Expand Up @@ -68,6 +68,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_cisco_mds.xml
Expand Up @@ -97,6 +97,11 @@
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_cisco_ucs.xml
Expand Up @@ -73,6 +73,11 @@
<content type="string" default="" />
<shortdesc lang="en">Additional path needed to access suborganization</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_compute.xml
Expand Up @@ -73,6 +73,11 @@
<content type="string" default="False" />
<shortdesc lang="en">Only record the target as needing evacuation</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_docker.xml
Expand Up @@ -76,6 +76,11 @@
<content type="string" />
<shortdesc lang="en">Path to client key (PEM format) for TLS authentication. Required if --ssl option is used.</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_drac.xml
Expand Up @@ -53,6 +53,11 @@
<content type="string" />
<shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_drac5.xml
Expand Up @@ -77,6 +77,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_dummy.xml
Expand Up @@ -23,6 +23,11 @@
<content type="string" default="file" />
<shortdesc lang="en">Type of the dummy fence agent</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_eaton_snmp.xml
Expand Up @@ -97,6 +97,11 @@
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_emerson.xml
Expand Up @@ -97,6 +97,11 @@
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_eps.xml
Expand Up @@ -55,6 +55,11 @@ Agent basically works by connecting to hidden page and pass appropriate argument
<content type="string" />
<shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_hds_cb.xml
Expand Up @@ -68,6 +68,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_hpblade.xml
Expand Up @@ -68,6 +68,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ibmblade.xml
Expand Up @@ -97,6 +97,11 @@
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_idrac.xml
Expand Up @@ -89,6 +89,11 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ifmib.xml
Expand Up @@ -99,6 +99,11 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
</content>
<shortdesc lang="en">Specifies SNMP version to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ilo.xml
Expand Up @@ -79,6 +79,11 @@
<content type="boolean" />
<shortdesc lang="en">Disable TLS negotiation and force TLS1.0. This should only be used for devices that do not support TLS1.1 and up.</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ilo2.xml
Expand Up @@ -79,6 +79,11 @@
<content type="boolean" />
<shortdesc lang="en">Disable TLS negotiation and force TLS1.0. This should only be used for devices that do not support TLS1.1 and up.</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ilo3.xml
Expand Up @@ -89,6 +89,11 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down
5 changes: 5 additions & 0 deletions tests/data/metadata/fence_ilo3_ssh.xml
Expand Up @@ -78,6 +78,11 @@
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="quiet" unique="0" required="0">
<getopt mixed="-q, --quiet" />
<content type="boolean" />
<shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
Expand Down

0 comments on commit e867a20

Please sign in to comment.