From fce6a6f8c73afc81062cabd14d55979bd894cd21 Mon Sep 17 00:00:00 2001 From: Victor Skvortsov Date: Tue, 5 May 2026 10:22:29 +0500 Subject: [PATCH] Handle delete nonexistent volume in runpod --- .../_internal/core/backends/runpod/compute.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dstack/_internal/core/backends/runpod/compute.py b/src/dstack/_internal/core/backends/runpod/compute.py index 5a3a23210a..7d3feaab10 100644 --- a/src/dstack/_internal/core/backends/runpod/compute.py +++ b/src/dstack/_internal/core/backends/runpod/compute.py @@ -430,7 +430,19 @@ def create_volume(self, volume: Volume) -> VolumeProvisioningData: def delete_volume(self, volume: Volume): if volume.volume_id is not None: - self.api_client.delete_network_volume(volume_id=volume.volume_id) + try: + self.api_client.delete_network_volume(volume_id=volume.volume_id) + except RunpodApiClientError as e: + if ( + len(e.errors) > 0 + and "Tried to delete nonexistent network volume" in e.errors[0]["message"] + ): + logger.debug( + "The volume %s not found. Skipping deletion.", + volume.volume_id, + ) + return + raise def _generate_container_registry_auth_id( self, registry_auth: Optional[RegistryAuth]