Server IP : 172.16.15.8 / Your IP : 3.144.93.34 Web Server : Apache System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.2.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0555) : /../sbin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
#!/usr/libexec/platform-python -tt import sys, re import atexit sys.path.append("/usr/share/fence") from fencing import * def get_power_status(conn, options): conn.send("2") conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"])) status = re.compile(r"Power Status[\s]*: (on|off)", re.IGNORECASE).search(conn.before).group(1) conn.send("0") conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"])) return status.lower().strip() def set_power_status(conn, options): action = { 'on' : "4", 'off': "1" }[options["--action"]] conn.send("2") conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"])) conn.send_eol(action) conn.log_expect(["want to power " + options["--action"], "yes/no", "'yes' or 'no'"], int(options["--shell-timeout"])) conn.send_eol("yes") conn.log_expect("any key to continue", int(options["--power-timeout"])) conn.send_eol("") conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"])) conn.send_eol("0") conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"])) def main(): device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", "telnet"] atexit.register(atexit_handler) all_opt["cmd_prompt"]["default"] = ["to quit:"] opt = process_input(device_opt) if "--ssh" not in opt and "--ipport" not in opt: # set default value like it should be set as usually all_opt["ipport"]["default"] = "3172" opt["--ipport"] = all_opt["ipport"]["default"] options = check_input(device_opt, opt) docs = {} docs["shortdesc"] = "Power Fencing agent for Fujitsu-Siemens RSB" docs["longdesc"] = "fence_rsb is a Power Fencing agent \ which can be used with the Fujitsu-Siemens RSB management interface. It logs \ into device via telnet/ssh and reboots a specified outlet. Lengthy telnet/ssh \ connections should be avoided while a GFS cluster is running because the connection \ will block any necessary fencing actions." docs["vendorurl"] = "http://www.fujitsu.com" show_docs(options, docs) ## ## Operate the fencing device #### conn = fence_login(options) result = fence_action(conn, options, set_power_status, get_power_status, None) fence_logout(conn, "0") sys.exit(result) if __name__ == "__main__": main()