Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F3153704
fence_ilo_ssh.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
fence_ilo_ssh.py
View Options
#!@PYTHON@ -tt
import
sys
,
re
import
atexit
import
logging
sys
.
path
.
append
(
"@FENCEAGENTSLIBDIR@"
)
from
fencing
import
*
def
get_power_status
(
conn
,
options
):
conn
.
send_eol
(
"show /system1"
)
re_state
=
re
.
compile
(
'EnabledState=(.*)'
,
re
.
IGNORECASE
)
conn
.
log_expect
(
re_state
,
int
(
options
[
"--shell-timeout"
]))
status
=
conn
.
match
.
group
(
1
)
.
lower
()
if
status
.
startswith
(
"enabled"
):
return
"on"
else
:
return
"off"
def
set_power_status
(
conn
,
options
):
if
options
[
"--action"
]
==
"on"
:
conn
.
send_eol
(
"start /system1"
)
else
:
conn
.
send_eol
(
"power off hard"
)
conn
.
log_expect
(
options
[
"--command-prompt"
],
int
(
options
[
"--power-timeout"
]))
return
def
reboot_cycle
(
conn
,
options
):
conn
.
send_eol
(
"reset /system1 hard"
)
conn
.
log_expect
(
options
[
"--command-prompt"
],
int
(
options
[
"--power-timeout"
]))
if
get_power_status
(
conn
,
options
)
==
"off"
:
logging
.
error
(
"Timed out waiting to power ON
\n
"
)
return
True
def
main
():
device_opt
=
[
"ipaddr"
,
"login"
,
"passwd"
,
"secure"
,
"cmd_prompt"
,
"method"
,
"telnet"
]
atexit
.
register
(
atexit_handler
)
all_opt
[
"cmd_prompt"
][
"default"
]
=
[
"MP>"
,
"hpiLO->"
]
all_opt
[
"power_wait"
][
"default"
]
=
5
options
=
check_input
(
device_opt
,
process_input
(
device_opt
))
docs
=
{}
docs
[
"shortdesc"
]
=
"Fence agent for HP iLO over SSH"
docs
[
"longdesc"
]
=
"fence_ilo_ssh is a fence agent that connects to iLO device. It logs into
\
device via ssh and reboot a specified outlet.
\
\n
.P
\n\
WARNING: The monitor-action is prone to timeouts. Use the fence_ilo-equivalent
\
to avoid this issue."
docs
[
"vendorurl"
]
=
"http://www.hp.com"
docs
[
"symlink"
]
=
[(
"fence_ilo3_ssh"
,
"Fence agent for HP iLO3 over SSH"
),
(
"fence_ilo4_ssh"
,
"Fence agent for HP iLO4 over SSH"
),
(
"fence_ilo5_ssh"
,
"Fence agent for HP iLO5 over SSH"
)]
show_docs
(
options
,
docs
)
options
[
"eol"
]
=
"
\r
"
conn
=
fence_login
(
options
)
conn
.
send_eol
(
"SMCLP"
)
##
## Fence operations
####
result
=
fence_action
(
conn
,
options
,
set_power_status
,
get_power_status
,
None
,
reboot_cycle
)
fence_logout
(
conn
,
"exit"
)
sys
.
exit
(
result
)
if
__name__
==
"__main__"
:
main
()
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Wed, Feb 26, 12:47 AM (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1438333
Default Alt Text
fence_ilo_ssh.py (2 KB)
Attached To
Mode
rF Fence Agents
Attached
Detach File
Event Timeline
Log In to Comment