Ejemplo n.º 1
0
 def __init__(self,
              ip_address,
              username,
              password,
              ssh_timeout=600,
              prompt=None):
     self.ssh_client = SSHBaseClient(ip_address, username, password,
                                     ssh_timeout)
     self.prompt = prompt
     if not self.ssh_client.test_connection_auth():
         raise
Ejemplo n.º 2
0
 def reboot(self, timeout=100):
     '''
     @timeout: max timeout for the machine to reboot
     '''
     ssh_connector = SSHBaseClient(self.ip_address, self.username,
                                   self.password)
     response, prompt = ssh_connector.exec_shell_command("sudo reboot")
     response, prompt = ssh_connector.exec_shell_command(self.password)
     self.client_log.info("Reboot response for %s: %s" %
                          (self.ip_address, response))
     max_time = time.time() + timeout
     while time.time() < max_time:
         time.sleep(5)
         if self.ssh_client.test_connection_auth():
             self.client_log.info("Reboot successful for %s" %
                                  (self.ip_address))
             return True
Ejemplo n.º 3
0
    def __init__(self,
                 ip_address=None,
                 server_id=None,
                 username=None,
                 password=None,
                 config=None,
                 os_distro=None,
                 key=None):
        self.client_log = cclogging.getLogger(
            cclogging.get_object_namespace(self.__class__))

        ssh_timeout = config.connection_timeout
        if ip_address is None:
            raise ServerUnreachable("None")
        self.ip_address = ip_address
        self.username = username
        if self.username is None:
            self.username = '******'
        self.password = password
        self.server_id = server_id

        start = int(time.time())
        reachable = False
        while not reachable:
            reachable = PingClient.ping(ip_address,
                                        config.ip_address_version_for_ssh)
            time.sleep(config.connection_retry_interval)
            if int(time.time()) - start >= config.connection_timeout:
                raise ServerUnreachable(ip_address)

        self.ssh_client = SSHBaseClient(self.ip_address,
                                        self.username,
                                        self.password,
                                        timeout=ssh_timeout,
                                        key=key)
        if not self.ssh_client.test_connection_auth():
            self.client_log.error("Ssh connection failed for: IP:{0} \
                    Username:{1} Password: {2}".format(self.ip_address,
                                                       self.username,
                                                       self.password))
            raise SshConnectionException("ssh connection failed")