From 69801f268f279ed02bdd1ca2134d24d045e51539 Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Mon, 24 Jun 2024 17:23:37 +0200 Subject: [PATCH] Wait for deleted server to disappear from results When we delete server wait for it to completely disappear from the results (Nova returns it for some time with the 'DELETED' state). Since tests (and actually also users) not able to really cope with this wait for server to be gone completely. Change-Id: Ie2dde98ae47dd7108d554495d5025df175647d5c --- plugins/modules/server.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/modules/server.py b/plugins/modules/server.py index d7179902..dc613a46 100644 --- a/plugins/modules/server.py +++ b/plugins/modules/server.py @@ -1091,6 +1091,15 @@ class ServerModule(OpenStackModule): server.id, **dict((k, self.params[k]) for k in ['wait', 'timeout', 'delete_ips'])) + # Nova returns server for some time with the "DELETED" state. Our tests + # are not able to handle this, so wait for server to really disappear. + if self.params['wait']: + for count in self.sdk.utils.iterate_timeout( + timeout=self.params['timeout'], + message="Timeout waiting for server to be absent" + ): + if self.conn.compute.find_server(server.id) is None: + break def _update(self, server, update): server = self._update_ips(server, update)