+from Completer import CompleterTask
+
+class CompleterTaskNodeSsh(CompleterTask):
+ def __init__(self, hostname, qemuname, local_key, command=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.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_epilogue(self):
+ print("Cannot reach {} in {} mode".format(self.hostname, self.boot_state))