Service Instance Deletion #64

Merged
rixx merged 6 commits from 30-instance-deletion into main 2025-05-26 09:45:44 +00:00
Showing only changes of commit d1d1352cf4 - Show all commits

View file

@ -1,3 +1,4 @@
import copy
import json
import kubernetes
@ -647,14 +648,10 @@ class ServiceInstance(ServalaModelMixin, models.Model):
if self.is_deleted:
return
self.is_deleted = True
self.deleted_at = timezone.now()
self.deleted_by = user
self.save(
update_fields=["is_deleted", "deleted_at", "deleted_by", "updated_at"]
)
self._clear_kubernetes_caches()
if self.spec.get("parameters", {}).get("security", {}).get("deletionProtection"):
spec = copy.copy(self.spec)
spec["parameters"]["security"]["deletionProtection"] = False
self.update_spec(spec, user)
try:
api_instance = self.context.control_plane.custom_objects_api
@ -670,6 +667,13 @@ class ServiceInstance(ServalaModelMixin, models.Model):
if e.status != 404:
# 404 is fine, the object was deleted already.
raise
self.is_deleted = True
self.deleted_at = timezone.now()
self.deleted_by = user
self.save(
update_fields=["is_deleted", "deleted_at", "deleted_by", "updated_at"]
)
self._clear_kubernetes_caches()
@cached_property
def kubernetes_object(self):