From d580d9bca84e58030b2ed80b079dfed0c79c4839 Mon Sep 17 00:00:00 2001 From: Lars Kellogg-Stedman Date: Wed, 28 May 2025 13:57:31 -0400 Subject: [PATCH] Make the "port forwarding delete" command idempotent Previously, attempting to delete a port forwarding that does not exist would fail with: $ uv run openstack esi port forwarding delete 172.17.1.106 128.31.20.118 -p 80 'could not find port forwarding matching 80:80/tcp' $ echo $? 1 With this change, we log a warning but do not consider it an error: $ uv run openstack esi port forwarding delete 172.17.1.106 128.31.20.118 -p 80 port forwarding matching 80:80/tcp does not exist $ echo $? 0 --- esiclient/v1/port_forwarding.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esiclient/v1/port_forwarding.py b/esiclient/v1/port_forwarding.py index bfdb7ba..7cf263a 100644 --- a/esiclient/v1/port_forwarding.py +++ b/esiclient/v1/port_forwarding.py @@ -416,7 +416,7 @@ def take_action(self, parsed_args: argparse.Namespace): forwards.append((fip, fwd)) break else: - raise KeyError(f"could not find port forwarding matching {port}") + LOG.warning(f"port forwarding matching {port} does not exist") for fip, fwd in forwards: self.app.client_manager.sdk_connection.network.delete_floating_ip_port_forwarding(