Patch paramiko

Its not clear how long it will take for paramiko to merge
https://github.com/paramiko/paramiko/pull/1928 to allow paramiko to
work in a FIPS enabled environment.

In the meantime, lets patch paramiko so we can merge our FIPS enabled
gates.  When the patch or its equivalent is merged, we can remove this
code.

Change-Id: Ib59647e6aa3dc313ee603ee9d322416179ef615c
This commit is contained in:
Ade Lee 2021-12-21 15:23:16 -05:00
parent eb860bca57
commit 86db21ea6a
1 changed files with 16 additions and 0 deletions

View File

@ -21,6 +21,7 @@ import time
import warnings
from oslo_log import log as logging
from oslo_utils.secretutils import md5
from tempest.lib import exceptions
@ -33,6 +34,21 @@ with warnings.catch_warnings():
LOG = logging.getLogger(__name__)
def get_fingerprint(self):
"""Patch paramiko
This method needs to be patched to allow paramiko to work under FIPS.
Until the patch to do this merges, patch paramiko here.
TODO(alee) Remove this when paramiko is patched.
See https://github.com/paramiko/paramiko/pull/1928
"""
return md5(self.asbytes(), usedforsecurity=False).digest()
paramiko.pkey.PKey.get_fingerprint = get_fingerprint
class Client(object):
def __init__(self, host, username, password=None, timeout=300, pkey=None,