+from Completer import CompleterTask
+
+class CompleterTaskNodeSsh (CompleterTask):
+ def __init__ (self, hostname, qemuname, local_key, command=None, message=None, boot_state="boot", expected=True, dry_run=False):
+ self.hostname=hostname
+ self.qemuname=qemuname
+ self.boot_state=boot_state
+ self.local_key=local_key
+ self.command=command if command is not None else "hostname;uname -a"
+ self.expected=expected
+ self.dry_run = dry_run
+ self.message = message if message else "cannot reach %s in %s mode"%(self.hostname, self.boot_state)
+ self.test_ssh = TestSsh (self.hostname,key=self.local_key)
+ def run (self, silent):
+ command = self.test_ssh.actual_command(self.command)
+ retcod=utils.system (command, silent=silent, dry_run=self.dry_run)
+ if self.expected: return retcod==0
+ else: return retcod !=0
+ def failure_message (self):
+ return self.message