mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-27 04:41:26 -07:00
Change default smart connection to ssh on macOS and remove paramiko from requirements.txt (#54738)
* Remove default use of paramiko connection plugin on macOS This fix was originally to work around a bug that caused a kernel panic on macOS that has since been fixed. * Remove paramiko from requirements.txt * Move paramiko checking to common place * Drop the warnings obfiscation code * Update pip installation instructions to reflect upstream instructions * Fix tests on CentOS 6 (Python 2.6) that now show Python deprecation warnings * Add changelog fragment
This commit is contained in:
parent
9776037abe
commit
6ce9cf7741
13 changed files with 92 additions and 104 deletions
|
@ -149,6 +149,7 @@ from ansible.errors import (
|
|||
AnsibleError,
|
||||
AnsibleFileNotFound,
|
||||
)
|
||||
from ansible.module_utils.compat.paramiko import PARAMIKO_IMPORT_ERR, paramiko
|
||||
from ansible.module_utils.six import iteritems
|
||||
from ansible.module_utils.six.moves import input
|
||||
from ansible.plugins.connection import ConnectionBase
|
||||
|
@ -168,23 +169,6 @@ Are you sure you want to continue connecting (yes/no)?
|
|||
# SSH Options Regex
|
||||
SETTINGS_REGEX = re.compile(r'(\w+)(?:\s*=\s*|\s+)(.+)')
|
||||
|
||||
# prevent paramiko warning noise -- see http://stackoverflow.com/questions/3920502/
|
||||
HAVE_PARAMIKO = False
|
||||
PARAMIKO_IMP_ERR = None
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("ignore")
|
||||
try:
|
||||
import paramiko
|
||||
HAVE_PARAMIKO = True
|
||||
except ImportError:
|
||||
try:
|
||||
import ansible_paramiko as paramiko
|
||||
HAVE_PARAMIKO = True
|
||||
except (ImportError, AttributeError) as err: # paramiko and gssapi are incompatible and raise AttributeError not ImportError
|
||||
PARAMIKO_IMP_ERR = err
|
||||
except AttributeError as err: # paramiko and gssapi are incompatible and raise AttributeError not ImportError
|
||||
PARAMIKO_IMP_ERR = err
|
||||
|
||||
|
||||
class MyAddPolicy(object):
|
||||
"""
|
||||
|
@ -313,8 +297,8 @@ class Connection(ConnectionBase):
|
|||
def _connect_uncached(self):
|
||||
''' activates the connection object '''
|
||||
|
||||
if not HAVE_PARAMIKO:
|
||||
raise AnsibleError("paramiko is not installed: %s" % to_native(PARAMIKO_IMP_ERR))
|
||||
if paramiko is None:
|
||||
raise AnsibleError("paramiko is not installed: %s" % to_native(PARAMIKO_IMPORT_ERR))
|
||||
|
||||
port = self._play_context.port or 22
|
||||
display.vvv("ESTABLISH PARAMIKO SSH CONNECTION FOR USER: %s on PORT %s TO %s" % (self._play_context.remote_user, port, self._play_context.remote_addr),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue