mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Revert "CLOUDSTACK-7408: Fixed - Private key of the ssh keypair was getting corrupted"
This reverts commit e921ec6ec79c50096d58264d60c15091969ff888. CLOUDSTACK-7408: sshClient.py - removing function load_host_keys(). This function is used to load host keys from local host keys file and to save back the host key. It is not needed while running test cases because we are connecting to unknown host anyway and don't want to use any local host key file. We have the AutoAddPolicy for missing host key file, hence whenever ssh connects to a new host, it will save the host key in memory temporarily. Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
This commit is contained in:
parent
0d6e3e48ba
commit
9e19a9afdb
@ -552,7 +552,7 @@ class VirtualMachine:
|
||||
|
||||
def get_ssh_client(
|
||||
self, ipaddress=None, reconnect=False, port=None,
|
||||
keyPairFileLocation=None, knownHostsFilePath=None):
|
||||
keyPairFileLocation=None):
|
||||
"""Get SSH object of VM"""
|
||||
|
||||
# If NAT Rules are not created while VM deployment in Advanced mode
|
||||
@ -571,16 +571,14 @@ class VirtualMachine:
|
||||
self.ssh_port,
|
||||
self.username,
|
||||
self.password,
|
||||
keyPairFileLocation=keyPairFileLocation,
|
||||
knownHostsFilePath=knownHostsFilePath
|
||||
keyPairFileLocation=keyPairFileLocation
|
||||
)
|
||||
self.ssh_client = self.ssh_client or is_server_ssh_ready(
|
||||
self.ssh_ip,
|
||||
self.ssh_port,
|
||||
self.username,
|
||||
self.password,
|
||||
keyPairFileLocation=keyPairFileLocation,
|
||||
knownHostsFilePath=knownHostsFilePath
|
||||
keyPairFileLocation=keyPairFileLocation
|
||||
)
|
||||
return self.ssh_client
|
||||
|
||||
|
||||
@ -121,9 +121,7 @@ def cleanup_resources(api_client, resources):
|
||||
obj.delete(api_client)
|
||||
|
||||
|
||||
def is_server_ssh_ready(ipaddress, port, username, password, retries=20,
|
||||
retryinterv=30, timeout=10.0, keyPairFileLocation=None,
|
||||
knownHostsFilePath=None):
|
||||
def is_server_ssh_ready(ipaddress, port, username, password, retries=20, retryinterv=30, timeout=10.0, keyPairFileLocation=None):
|
||||
'''
|
||||
@Name: is_server_ssh_ready
|
||||
@Input: timeout: tcp connection timeout flag,
|
||||
@ -142,8 +140,7 @@ def is_server_ssh_ready(ipaddress, port, username, password, retries=20,
|
||||
keyPairFiles=keyPairFileLocation,
|
||||
retries=retries,
|
||||
delay=retryinterv,
|
||||
timeout=timeout,
|
||||
knownHostsFilePath=knownHostsFilePath)
|
||||
timeout=timeout)
|
||||
except Exception, e:
|
||||
raise Exception("SSH connection has Failed. Waited %ss. Error is %s" % (retries * retryinterv, str(e)))
|
||||
else:
|
||||
|
||||
@ -24,7 +24,6 @@ from paramiko import (BadHostKeyException,
|
||||
SFTPClient)
|
||||
import socket
|
||||
import time
|
||||
import os
|
||||
from marvin.cloudstackException import (
|
||||
internalError,
|
||||
GetDetailExceptionInfo
|
||||
@ -50,8 +49,7 @@ class SshClient(object):
|
||||
'''
|
||||
|
||||
def __init__(self, host, port, user, passwd, retries=60, delay=10,
|
||||
log_lvl=logging.DEBUG, keyPairFiles=None, timeout=10.0,
|
||||
knownHostsFilePath=None):
|
||||
log_lvl=logging.DEBUG, keyPairFiles=None, timeout=10.0):
|
||||
self.host = None
|
||||
self.port = 22
|
||||
self.user = user
|
||||
@ -79,18 +77,6 @@ class SshClient(object):
|
||||
self.timeout = timeout
|
||||
if port is not None and port >= 0:
|
||||
self.port = port
|
||||
|
||||
# If the known_hosts file is not at default location,
|
||||
# then its location can be passed, or else the default
|
||||
# path will be considered (which is ~/.ssh/known_hosts)
|
||||
if knownHostsFilePath:
|
||||
self.knownHostsFilePath = knownHostsFilePath
|
||||
else:
|
||||
self.knownHostsFilePath = os.path.expanduser(
|
||||
os.path.join(
|
||||
"~",
|
||||
".ssh",
|
||||
"known_hosts"))
|
||||
if self.createConnection() == FAILED:
|
||||
raise internalError("SSH Connection Failed")
|
||||
|
||||
@ -134,7 +120,6 @@ class SshClient(object):
|
||||
password=self.passwd,
|
||||
timeout=self.timeout)
|
||||
else:
|
||||
self.ssh.load_host_keys(self.knownHostsFilePath)
|
||||
self.ssh.connect(hostname=self.host,
|
||||
port=self.port,
|
||||
username=self.user,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user