From 569d9c6064df73891e72f3f8c4d3244199147b21 Mon Sep 17 00:00:00 2001 From: Thomas Stringer Date: Mon, 11 Jan 2021 14:18:52 -0500 Subject: [PATCH 1/2] fix regression by forcing no imds ssh keys --- cloudinit/sources/DataSourceAzure.py | 6 ++++++ tests/unittests/test_datasource/test_azure.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py index 8a0bf91d6da..2040365b1cd 100755 --- a/cloudinit/sources/DataSourceAzure.py +++ b/cloudinit/sources/DataSourceAzure.py @@ -651,6 +651,9 @@ def get_public_ssh_keys(self): LOG.debug('Retrieving public SSH keys') ssh_keys = [] try: + raise KeyError( + "Not using public SSH keys from IMDS" + ) ssh_keys = [ public_key['keyData'] for public_key @@ -1272,6 +1275,9 @@ def _negotiate(self): pubkey_info = None try: + raise KeyError( + "Not using public SSH keys from IMDS" + ) public_keys = self.metadata['imds']['compute']['publicKeys'] LOG.debug( 'Successfully retrieved %s key(s) from IMDS', diff --git a/tests/unittests/test_datasource/test_azure.py b/tests/unittests/test_datasource/test_azure.py index d64b538eb44..dc615309d2c 100644 --- a/tests/unittests/test_datasource/test_azure.py +++ b/tests/unittests/test_datasource/test_azure.py @@ -1797,7 +1797,9 @@ def test_get_public_ssh_keys_with_imds(self, m_parse_certificates): dsrc.get_data() dsrc.setup(True) ssh_keys = dsrc.get_public_ssh_keys() - self.assertEqual(ssh_keys, ['key1']) + # Temporarily alter this test so that SSH public keys + # from IMDS are *not* going to be in use to fix a regression. + self.assertEqual(ssh_keys, []) self.assertEqual(m_parse_certificates.call_count, 0) @mock.patch(MOCKPATH + 'get_metadata_from_imds') From 9b50f47eee9e4b844189bc92fa5530b86616adfa Mon Sep 17 00:00:00 2001 From: Thomas Stringer Date: Mon, 11 Jan 2021 16:07:07 -0500 Subject: [PATCH 2/2] disable unreachable code path warning --- cloudinit/sources/DataSourceAzure.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py index 2040365b1cd..090dd66b897 100755 --- a/cloudinit/sources/DataSourceAzure.py +++ b/cloudinit/sources/DataSourceAzure.py @@ -654,6 +654,7 @@ def get_public_ssh_keys(self): raise KeyError( "Not using public SSH keys from IMDS" ) + # pylint:disable=unreachable ssh_keys = [ public_key['keyData'] for public_key @@ -1278,6 +1279,7 @@ def _negotiate(self): raise KeyError( "Not using public SSH keys from IMDS" ) + # pylint:disable=unreachable public_keys = self.metadata['imds']['compute']['publicKeys'] LOG.debug( 'Successfully retrieved %s key(s) from IMDS',