- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, '\n')
- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, self.connect_password+'\n')
- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, 'grim reaper\n')
- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, 'set priv\n')
- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, self.priv_password+'\n')
- read_for_a_bit(mopr)
- write_expecting_echo(mopr, mopw, 'init del 0\n')
- read_for_a_bit(mopr)
+ write_and_get_response(mopr, mopw, '')
+
+ logging.info('Sending password')
+ r = write_and_get_response(mopr, mopw, self.connect_password, False)
+ if r.find('Enter username> ') == -1:
+ logging.warning("Expected username prompt, got " + repr(r))
+ raise LATClientException('failed to reboot server')
+
+ logging.info('Sending username')
+ r = write_and_get_response(mopr, mopw, 'grim reaper')
+ if r.find('Local> ') == -1:
+ logging.warning("Expected DEC server prompt, got " + repr(r))
+ raise LATClientException('failed to reboot server')
+
+ logging.info('Requesting privileges')
+ r = write_and_get_response(mopr, mopw, 'set priv')
+ if r.find('Password> ') == -1:
+ logging.warning("Expected priv password prompt, got " + repr(r))
+ raise LATClientException('failed to reboot server')
+
+ logging.info('Sending password')
+ r = write_and_get_response(mopr, mopw, self.priv_password, False)
+ if r.find('Local> ') == -1:
+ logging.warning("Expected DEC server prompt, got " + repr(r))
+ raise LATClientException('failed to reboot server')
+
+ logging.info('Sending reboot request')
+ r = write_and_get_response(mopr, mopw, 'init del 0')
+ if r.find('Target does not respond') == -1:
+ logging.warning("Expected DEC server to die, got " + repr(r))
+ raise LATClientException('failed to reboot server')
+
+ logging.info('Closed connection to server')