Fallback to 'root' if provided login doesn't work
In SSH manager try to use 'root' while connecting to slave nodes if authentication fails with login provided in settings. Change-Id: I647add5c67c51c26f710a3a0e92b0498478a90f9 Closes-bug: #1580199
This commit is contained in:
parent
ed8305b871
commit
d42ea1f035
@ -21,6 +21,7 @@ import traceback
|
||||
from devops.helpers.helpers import wait
|
||||
from devops.models.node import SSHClient
|
||||
from paramiko import RSAKey
|
||||
from paramiko.ssh_exception import BadAuthenticationType
|
||||
import six
|
||||
import yaml
|
||||
|
||||
@ -42,6 +43,7 @@ class SSHManager(object):
|
||||
self.admin_login = None
|
||||
self.__admin_password = None
|
||||
self.slave_login = None
|
||||
self.slave_fallback_login = 'root'
|
||||
self.__slave_password = None
|
||||
|
||||
@property
|
||||
@ -106,21 +108,30 @@ class SSHManager(object):
|
||||
|
||||
keys = self._get_keys() if ip != self.admin_ip else []
|
||||
if ip == self.admin_ip:
|
||||
username = self.admin_login
|
||||
password = self.__admin_password
|
||||
ssh_client = SSHClient(
|
||||
host=ip,
|
||||
port=port,
|
||||
username=self.admin_login,
|
||||
password=self.__admin_password,
|
||||
private_keys=keys
|
||||
)
|
||||
else:
|
||||
username = self.slave_login
|
||||
password = self.__slave_password
|
||||
|
||||
ssh_client = SSHClient(
|
||||
host=ip,
|
||||
port=port,
|
||||
username=username,
|
||||
password=password,
|
||||
private_keys=keys
|
||||
)
|
||||
|
||||
if ip != self.admin_ip:
|
||||
try:
|
||||
ssh_client = SSHClient(
|
||||
host=ip,
|
||||
port=port,
|
||||
username=self.slave_login,
|
||||
password=self.__slave_password,
|
||||
private_keys=keys
|
||||
)
|
||||
except BadAuthenticationType:
|
||||
ssh_client = SSHClient(
|
||||
host=ip,
|
||||
port=port,
|
||||
username=self.slave_fallback_login,
|
||||
password=self.__slave_password,
|
||||
private_keys=keys
|
||||
)
|
||||
ssh_client.sudo_mode = True
|
||||
self.connections[(ip, port)] = ssh_client
|
||||
logger.debug('SSH_MANAGER:Return existed connection for '
|
||||
|
Loading…
Reference in New Issue
Block a user