فهرست منبع

Fix transfer schedules not being able to delete after deployment execution

When a schedule with `auto_deploy` enabled triggers the transfer and pending
deployment using a user trust that's registered in the schedule information.

After a deployment finishes, the trust_id is always deleted, making it
impossible for the user to delete an auto_deploy-enabled transfer schedule.

This patch makes sure that a transfer schedule can be deleted, even though
its trust_id fails to delete.
Daniel Vincze 1 سال پیش
والد
کامیت
6f3e3929a0
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      coriolis/conductor/rpc/server.py

+ 7 - 1
coriolis/conductor/rpc/server.py

@@ -3380,7 +3380,13 @@ class ConductorServerEndpoint(object):
         if schedule.trust_id:
             tmp_trust = context.get_admin_context(
                 trust_id=schedule.trust_id)
-            keystone.delete_trust(tmp_trust)
+            try:
+                keystone.delete_trust(tmp_trust)
+            except Exception:
+                LOG.warning(
+                    f"Failed to delete schedule's trust_id. Trust might "
+                    f"already be deleted. Error was: "
+                    f"{utils.get_exception_details()}")
 
     @schedule_synchronized
     def delete_transfer_schedule(self, ctxt, transfer_id, schedule_id):