remove deprecated connection password functions (#74155)

* they were moved from connecitons to become plugins
* fixed clog, removed sanity ignore
* fixed tests to use become functions
This commit is contained in:
Brian Coca 2021-04-08 15:11:06 -04:00 committed by GitHub
parent 45ab6fddf3
commit b07a78b4ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 50 deletions

View file

@ -0,0 +1,2 @@
removed_features:
- connections, removed password check stubs that had been moved to become plugins.

View file

@ -229,39 +229,6 @@ class ConnectionBase(AnsiblePlugin):
def reset(self): def reset(self):
display.warning("Reset is not implemented for this connection") display.warning("Reset is not implemented for this connection")
# NOTE: these password functions are all become specific, the name is
# confusing as it does not handle 'protocol passwords'
# DEPRECATED:
# These are kept for backwards compatibility
# Use the methods provided by the become plugins instead
def check_become_success(self, b_output):
display.deprecated(
"Connection.check_become_success is deprecated, calling code should be using become plugins instead",
version="2.12", collection_name='ansible.builtin'
)
return self.become.check_success(b_output)
def check_password_prompt(self, b_output):
display.deprecated(
"Connection.check_password_prompt is deprecated, calling code should be using become plugins instead",
version="2.12", collection_name='ansible.builtin'
)
return self.become.check_password_prompt(b_output)
def check_incorrect_password(self, b_output):
display.deprecated(
"Connection.check_incorrect_password is deprecated, calling code should be using become plugins instead",
version="2.12", collection_name='ansible.builtin'
)
return self.become.check_incorrect_password(b_output)
def check_missing_password(self, b_output):
display.deprecated(
"Connection.check_missing_password is deprecated, calling code should be using become plugins instead",
version="2.12", collection_name='ansible.builtin'
)
return self.become.check_missing_password(b_output)
class NetworkConnectionBase(ConnectionBase): class NetworkConnectionBase(ConnectionBase):
""" """

View file

@ -155,7 +155,6 @@ lib/ansible/plugins/action/async_status.py pylint:ansible-deprecated-version
lib/ansible/plugins/action/normal.py action-plugin-docs # default action plugin for modules without a dedicated action plugin lib/ansible/plugins/action/normal.py action-plugin-docs # default action plugin for modules without a dedicated action plugin
lib/ansible/plugins/cache/__init__.py pylint:ansible-deprecated-version lib/ansible/plugins/cache/__init__.py pylint:ansible-deprecated-version
lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility
lib/ansible/plugins/connection/__init__.py pylint:ansible-deprecated-version
lib/ansible/plugins/inventory/__init__.py pylint:ansible-deprecated-version lib/ansible/plugins/inventory/__init__.py pylint:ansible-deprecated-version
lib/ansible/plugins/inventory/script.py pylint:ansible-deprecated-version lib/ansible/plugins/inventory/script.py pylint:ansible-deprecated-version
lib/ansible/plugins/lookup/sequence.py pylint:blacklisted-name lib/ansible/plugins/lookup/sequence.py pylint:blacklisted-name

View file

@ -160,10 +160,10 @@ debug1: Sending command: /bin/sh -c 'sudo -H -S -p "[sudo via ansible, key=ouzm
c.set_become_plugin(become_loader.get('sudo')) c.set_become_plugin(become_loader.get('sudo'))
c.become.prompt = '[sudo via ansible, key=ouzmdnewuhucvuaabtjmweasarviygqq] password: ' c.become.prompt = '[sudo via ansible, key=ouzmdnewuhucvuaabtjmweasarviygqq] password: '
self.assertTrue(c.check_password_prompt(local)) self.assertTrue(c.become.check_password_prompt(local))
self.assertTrue(c.check_password_prompt(ssh_pipelining_vvvv)) self.assertTrue(c.become.check_password_prompt(ssh_pipelining_vvvv))
self.assertTrue(c.check_password_prompt(ssh_nopipelining_vvvv)) self.assertTrue(c.become.check_password_prompt(ssh_nopipelining_vvvv))
self.assertTrue(c.check_password_prompt(ssh_novvvv)) self.assertTrue(c.become.check_password_prompt(ssh_novvvv))
self.assertTrue(c.check_password_prompt(dns_issue)) self.assertTrue(c.become.check_password_prompt(dns_issue))
self.assertFalse(c.check_password_prompt(nothing)) self.assertFalse(c.become.check_password_prompt(nothing))
self.assertFalse(c.check_password_prompt(in_front)) self.assertFalse(c.become.check_password_prompt(in_front))

View file

@ -104,10 +104,10 @@ class TestConnectionBaseClass(unittest.TestCase):
conn = connection_loader.get('ssh', pc, new_stdin) conn = connection_loader.get('ssh', pc, new_stdin)
conn.set_become_plugin(become_loader.get('sudo')) conn.set_become_plugin(become_loader.get('sudo'))
conn.check_password_prompt = MagicMock() conn.become.check_password_prompt = MagicMock()
conn.check_become_success = MagicMock() conn.become.check_success = MagicMock()
conn.check_incorrect_password = MagicMock() conn.become.check_incorrect_password = MagicMock()
conn.check_missing_password = MagicMock() conn.become.check_missing_password = MagicMock()
def _check_password_prompt(line): def _check_password_prompt(line):
if b'foo' in line: if b'foo' in line:
@ -129,11 +129,6 @@ class TestConnectionBaseClass(unittest.TestCase):
return True return True
return False return False
conn.become.check_password_prompt = MagicMock(side_effect=_check_password_prompt)
conn.become.check_become_success = MagicMock(side_effect=_check_become_success)
conn.become.check_incorrect_password = MagicMock(side_effect=_check_incorrect_password)
conn.become.check_missing_password = MagicMock(side_effect=_check_missing_password)
# test examining output for prompt # test examining output for prompt
conn._flags = dict( conn._flags = dict(
become_prompt=False, become_prompt=False,
@ -143,7 +138,13 @@ class TestConnectionBaseClass(unittest.TestCase):
) )
pc.prompt = True pc.prompt = True
# override become plugin
conn.become.prompt = True conn.become.prompt = True
conn.become.check_password_prompt = MagicMock(side_effect=_check_password_prompt)
conn.become.check_success = MagicMock(side_effect=_check_become_success)
conn.become.check_incorrect_password = MagicMock(side_effect=_check_incorrect_password)
conn.become.check_missing_password = MagicMock(side_effect=_check_missing_password)
def get_option(option): def get_option(option):
if option == 'become_pass': if option == 'become_pass':