From 8dfcd177311bc1cca0ea03c6333d6b9289e3c1b0 Mon Sep 17 00:00:00 2001 From: Jakob Meng Date: Wed, 7 Sep 2022 09:09:08 +0200 Subject: [PATCH] Do not remove trailing spaces when reading public key in keypair module Previously, openstack.cloud.keypair would remove trailing spaces after reading a public key from a file. The openstack cli tool, python-\ openstackclient, does not do so, i.e. it does not use rstrip to remove spaces at the end [1]. This breaks idempotency when using openstack cli tool and our keypair module at the same time. The rstrip code was introduced to keypair when our modules were still part of ansible (non-core) in a completely unrelated change [2]. Now, keypair module does no longer alter the public key and instead uploads it unchanged to OpenStack API. [1] https://opendev.org/openstack/python-openstackclient/src/commit/7df94c9f821aa7fabef09cad9e6ab16ed66d46b6/openstackclient/compute/v2/keypair.py#L103 [2] https://github.com/ansible/ansible/commit/341efbf7ae078d9818b17036af5ccfed277db52d Story: 2008574 Task: 41726 Change-Id: Ia09658467d98516ca1ea612e7301629b2f69d2d1 (cherry picked from commit 73827a3d574a6149bfc0984d0c9838ed4f9881d5) --- plugins/modules/keypair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/keypair.py b/plugins/modules/keypair.py index df6bb5d1..232d4985 100644 --- a/plugins/modules/keypair.py +++ b/plugins/modules/keypair.py @@ -113,7 +113,7 @@ class KeyPairModule(OpenStackModule): if self.params['public_key_file']: with open(self.params['public_key_file']) as public_key_fh: - public_key = public_key_fh.read().rstrip() + public_key = public_key_fh.read() keypair = self.conn.get_keypair(name)