"-o PasswordAuthentication=yes "+\
"-o PubkeyAuthentication=no"
s = pxssh.pxssh()
- if not s.login(self.host, self.username, self.password, ssh_options,
+ try:
+ if not s.login(self.host, self.username, self.password, ssh_options,
original_prompts="Dell", login_timeout=Transport.TELNET_TIMEOUT):
- raise ExceptionPassword("Invalid Password")
-
- print "logging in..."
+ raise ExceptionPassword("Invalid Password")
+ except pexpect.EOF:
+ raise ExceptionPrompt("Disconnect before login prompt")
+
+ print "logging in... %s" % self.host
s.send("\r\n\r\n")
try:
# Testing Reboot ?
#index = s.expect(["DRAC 5", "[%s]#" % self.username ])
# NOTE: be careful to escape any characters used by 're.compile'
- index = s.expect(["\$", "\[%s\]#" % self.username ])
+ index = s.expect(["\$", "\[%s\]#" % self.username, "/.*>" ])
print "INDEX:", index
print s
if dryrun:
s.sendline("racadm getsysinfo")
elif index == 1:
s.sendline("getsysinfo")
+ elif index == 2:
+ s.sendline("racadm getsysinfo")
else:
print "serveraction powercycle"
if index == 0:
s.sendline("racadm serveraction powercycle")
elif index == 1:
s.sendline("serveraction powercycle")
+ elif index == 2:
+ s.sendline("racadm serveraction powercycle")
# TODO: this is really lousy. Without the sleep, the sendlines
# don't completely get through. Even the added, expect line
# returns right away without waiting for the commands above to
# complete... Therefore, this delay is guaranteed to fail in some
# other context...
- time.sleep(5)
- index = s.expect(["\$", "\[%s\]#" % self.username ])
+ s.send("\r\n\r\n")
+ time.sleep(20)
+ index = s.expect(["\$", "\[%s\]#" % self.username, "/.*>" ])
print s
print "INDEX 2:", index
s.sendline("exit")
print "RUNCMD: %s" % output
if verbose:
- logger.debug(output)
+ print output
return 0
except Exception, err:
- logger.debug("runcmd raised exception %s" % err)
- if verbose:
- logger.debug(err)
- return err
+ print "runcmd raised exception %s" % err
+ return str(err)