- mop = popen('/usr/sbin/moprc '+self.server_name, 'w')
- mop.write('\n')
- mop.write(self.connect_password+'\n')
- mop.write('grim reaper\n')
- mop.write('set priv\n')
- mop.write(self.priv_password+'\n')
- mop.write('init del 0\n')
- mop.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