+ def reboot_server(self):
+ self.sock.shutdown(2)
+ self.sock.close()
+ mopw, mopr = popen4('/usr/sbin/moprc '+self.server_name)
+ write_and_get_response(mopr, mopw, '')
+ r = write_and_get_response(mopr, mopw, self.connect_password, False)
+ if r.find('Enter username> ') == -1:
+ print "Expected username prompt, got ", repr(r)
+ raise LATClientException('failed to reboot server')
+ r = write_and_get_response(mopr, mopw, 'grim reaper')
+ if r.find('Local> ') == -1:
+ print "Expected DEC server prompt, got ", repr(r)
+ raise LATClientException('failed to reboot server')
+ r = write_and_get_response(mopr, mopw, 'set priv')
+ if r.find('Password> ') == -1:
+ print "Expected priv password prompt, got ", repr(r)
+ raise LATClientException('failed to reboot server')
+ r = write_and_get_response(mopr, mopw, self.priv_password, False)
+ if r.find('Local> ') == -1:
+ print "Expected DEC server prompt, got ", repr(r)
+ raise LATClientException('failed to reboot server')
+ r = write_and_get_response(mopr, mopw, 'init del 0')
+ if r.find('Target does not respond') == -1:
+ print "Expected DEC server to die, got ", repr(r)
+ raise LATClientException('failed to reboot server')
+ mopr.close()
+ mopw.close()
+ print
+ print "Waiting 10 seconds for DEC server to come back to life..."
+ sleep(10)
+ print "Rightyo, back to vending!"
+ print
+ raise LATClientException('needed to reboot server')
+