Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:sschapiro:openstack:upstream
fence-agents
fence_rename_ibmblade_to_bladecenter_snmp_part1...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fence_rename_ibmblade_to_bladecenter_snmp_part1.patch of Package fence-agents
commit 429acfd602b7002d2c5e481fb48fb1276855825a Author: Fabio M. Di Nitto <fdinitto@redhat.com> Date: Tue Jul 20 21:10:22 2010 +0200 fence: rename ibmblade to bladecenter_snmp be consistent with other agents similar to apc and apc_snmp Resolves: rhbz#616559 Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com> diff --git a/fence/agents/bladecenter_snmp/Makefile b/fence/agents/bladecenter_snmp/Makefile new file mode 100644 index 0000000..d98cfa6 --- /dev/null +++ b/fence/agents/bladecenter_snmp/Makefile @@ -0,0 +1,7 @@ +include ../../../make/defines.mk + +TARGET= fence_bladecenter_snmp + +MAKEMAN = 1 + +include $(OBJDIR)/make/fencebuild.mk diff --git a/fence/agents/bladecenter_snmp/fence_bladecenter_snmp.py b/fence/agents/bladecenter_snmp/fence_bladecenter_snmp.py new file mode 100644 index 0000000..deceada --- /dev/null +++ b/fence/agents/bladecenter_snmp/fence_bladecenter_snmp.py @@ -0,0 +1,88 @@ +#!/usr/bin/python + +import sys, re, pexpect +sys.path.append("@FENCEAGENTSLIBDIR@") +from fencing import * +from fencing_snmp import * + +#BEGIN_VERSION_GENERATION +RELEASE_VERSION="IBM BladeCenter SNMP fence agent" +REDHAT_COPYRIGHT="" +BUILD_DATE="" +#END_VERSION_GENERATION + +### CONSTANTS ### +# From fence_ibmblade.pl +STATUSES_OID=".1.3.6.1.4.1.2.3.51.2.22.1.5.1.1.4" # remoteControlBladePowerState +CONTROL_OID=".1.3.6.1.4.1.2.3.51.2.22.1.6.1.1.7" # powerOnOffBlade + +# Status constants returned as value from SNMP +STATUS_DOWN=0 +STATUS_UP=1 + +# Status constants to set as value to SNMP +STATUS_SET_OFF=0 +STATUS_SET_ON=1 + +### FUNCTIONS ### + +def get_power_status(conn,options): + (oid,status)=conn.get("%s.%s"%(STATUSES_OID,options["-n"])) + return (status==str(STATUS_UP) and "on" or "off") + +def set_power_status(conn, options): + conn.set("%s.%s"%(CONTROL_OID,options["-n"]),(options["-o"]=="on" and STATUS_SET_ON or STATUS_SET_OFF)) + +def get_outlets_status(conn, options): + result={} + + res_blades=conn.walk(STATUSES_OID,30) + + for x in res_blades: + port_num=x[0].split('.')[-1] + + port_alias="" + port_status=(x[1]==str(STATUS_UP) and "on" or "off") + + result[port_num]=(port_alias,port_status) + + return result + +# Define new options +def ibmblade_define_defaults(): + all_opt["snmp_version"]["default"]="1" + +# Main agent method +def main(): + global port_oid + + device_opt = [ "help", "version", "agent", "quiet", "verbose", "debug", + "action", "ipaddr", "login", "passwd", "passwd_script", + "test", "port", "separator", "no_login", "no_password", + "snmp_version", "community", "snmp_auth_prot", "snmp_sec_level", + "snmp_priv_prot", "snmp_priv_passwd", "snmp_priv_passwd_script", + "udpport","inet4_only","inet6_only", + "power_timeout", "shell_timeout", "login_timeout", "power_wait" ] + + atexit.register(atexit_handler) + + snmp_define_defaults () + ibmblade_define_defaults() + + options=check_input(device_opt,process_input(device_opt)) + + docs = { } + docs["shortdesc"] = "Fence agent for IBM BladeCenter over SNMP" + docs["longdesc"] = "fence_bladecenter_snmp is an I/O Fencing agent \ +which can be used with IBM BladeCenter chassis. It issues SNMP Set \ +request to BladeCenter chassis, rebooting, powering up or down \ +the specified Blade Server." + docs["vendorurl"] = "http://www.ibm.com" + show_docs(options, docs) + + # Operate the fencing device + result = fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status) + + sys.exit(result) +if __name__ == "__main__": + main() diff --git a/fence/agents/ibmblade/Makefile b/fence/agents/ibmblade/Makefile deleted file mode 100644 index 91f3e2a..0000000 --- a/fence/agents/ibmblade/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -include ../../../make/defines.mk - -TARGET= fence_ibmblade - -MAKEMAN = 1 - -include $(OBJDIR)/make/fencebuild.mk diff --git a/fence/agents/ibmblade/fence_ibmblade.py b/fence/agents/ibmblade/fence_ibmblade.py deleted file mode 100644 index 323a4ad..0000000 --- a/fence/agents/ibmblade/fence_ibmblade.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/python - -import sys, re, pexpect -sys.path.append("@FENCEAGENTSLIBDIR@") -from fencing import * -from fencing_snmp import * - -#BEGIN_VERSION_GENERATION -RELEASE_VERSION="IBM Blade SNMP fence agent" -REDHAT_COPYRIGHT="" -BUILD_DATE="" -#END_VERSION_GENERATION - -### CONSTANTS ### -# From fence_ibmblade.pl -STATUSES_OID=".1.3.6.1.4.1.2.3.51.2.22.1.5.1.1.4" # remoteControlBladePowerState -CONTROL_OID=".1.3.6.1.4.1.2.3.51.2.22.1.6.1.1.7" # powerOnOffBlade - -# Status constants returned as value from SNMP -STATUS_DOWN=0 -STATUS_UP=1 - -# Status constants to set as value to SNMP -STATUS_SET_OFF=0 -STATUS_SET_ON=1 - -### FUNCTIONS ### - -def get_power_status(conn,options): - (oid,status)=conn.get("%s.%s"%(STATUSES_OID,options["-n"])) - return (status==str(STATUS_UP) and "on" or "off") - -def set_power_status(conn, options): - conn.set("%s.%s"%(CONTROL_OID,options["-n"]),(options["-o"]=="on" and STATUS_SET_ON or STATUS_SET_OFF)) - -def get_outlets_status(conn, options): - result={} - - res_blades=conn.walk(STATUSES_OID,30) - - for x in res_blades: - port_num=x[0].split('.')[-1] - - port_alias="" - port_status=(x[1]==str(STATUS_UP) and "on" or "off") - - result[port_num]=(port_alias,port_status) - - return result - -# Define new options -def ibmblade_define_defaults(): - all_opt["snmp_version"]["default"]="1" - -# Main agent method -def main(): - global port_oid - - device_opt = [ "help", "version", "agent", "quiet", "verbose", "debug", - "action", "ipaddr", "login", "passwd", "passwd_script", - "test", "port", "separator", "no_login", "no_password", - "snmp_version", "community", "snmp_auth_prot", "snmp_sec_level", - "snmp_priv_prot", "snmp_priv_passwd", "snmp_priv_passwd_script", - "udpport","inet4_only","inet6_only", - "power_timeout", "shell_timeout", "login_timeout", "power_wait" ] - - atexit.register(atexit_handler) - - snmp_define_defaults () - ibmblade_define_defaults() - - options=check_input(device_opt,process_input(device_opt)) - - docs = { } - docs["shortdesc"] = "Fence agent for IBM BladeCenter over SNMP" - docs["longdesc"] = "fence_ibmblade is an I/O Fencing agent \ -which can be used with IBM BladeCenter chassis. It issues SNMP Set \ -request to BladeCenter chassis, rebooting, powering up or down \ -the specified Blade Server." - docs["vendorurl"] = "http://www.ibm.com" - show_docs(options, docs) - - # Operate the fencing device - result = fence_action(FencingSnmp(options), options, set_power_status, get_power_status, get_outlets_status) - - sys.exit(result) -if __name__ == "__main__": - main()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor