Skip to content

Commit 0923495

Browse files
authored
fix(controller): volume can not delete when ptype isn't exist
1 parent 51b8598 commit 0923495

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

rootfs/api/models/release.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,8 +387,12 @@ def _delete_release_in_scheduler(self, namespace, procfile_types, version_name):
387387
for replica_set in replica_sets:
388388
# Deployment takes care of this in the API, RS does not
389389
# Have the RS scale down pods and delete itself
390-
self.scheduler().rs.scale(namespace, replica_set['metadata']['name'], 0, timeout)
391-
self.scheduler().rs.delete(namespace, replica_set['metadata']['name'])
390+
try:
391+
self.scheduler().rs.scale(namespace, replica_set['metadata']['name'], 0, timeout)
392+
self.scheduler().rs.delete(namespace, replica_set['metadata']['name'])
393+
except KubeHTTPException as e:
394+
if e.response.status_code != 404:
395+
raise
392396

393397
def save(self, *args, **kwargs): # noqa
394398
if not self.summary:

rootfs/api/models/volume.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ def save(self, *args, **kwargs):
3636

3737
@transaction.atomic
3838
def delete(self, *args, **kwargs):
39-
if self.path:
40-
raise DryccException("the volume is not unmounted")
4139
# Deatch volume, updates k8s
4240
if self.type == "csi":
4341
self._delete_pvc()

rootfs/api/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,9 @@ def expand(self, request, **kwargs):
855855

856856
def destroy(self, request, **kwargs):
857857
volume = self.get_object()
858-
if volume.path != {}:
858+
app = self.get_app()
859+
is_subset = set(volume.path.keys()).issubset(set(app.procfile_types))
860+
if volume.path != {} and is_subset:
859861
raise DryccException("this volume is mounting")
860862
volume.delete()
861863
return Response(status=status.HTTP_204_NO_CONTENT)

0 commit comments

Comments
 (0)