diff options
author | Thong Kuah <tkuah@gitlab.com> | 2019-04-12 08:28:06 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-04-30 08:55:11 +0300 |
commit | 3c8df0c944f0b23f9ee8b6b08a0a355b00456dd9 (patch) | |
tree | e17c11245edf069af55f97c3b9df1544c33db57a /app | |
parent | 938e90f47288901790a96c50a8c0dfa2b7eab137 (diff) |
Destroy app on successful uninstallation
Rescue and put into :uninstall_errored if something goes wrong while
destroying, which can happen. I think it is safe to expose the full
error message from the destroy error.
Remove the :uninstalled state as no longer used.
Diffstat (limited to 'app')
-rw-r--r-- | app/models/clusters/concerns/application_status.rb | 5 | ||||
-rw-r--r-- | app/services/clusters/applications/check_uninstall_progress_service.rb | 4 |
2 files changed, 3 insertions, 6 deletions
diff --git a/app/models/clusters/concerns/application_status.rb b/app/models/clusters/concerns/application_status.rb index 16679a21e64..54a3dda6d75 100644 --- a/app/models/clusters/concerns/application_status.rb +++ b/app/models/clusters/concerns/application_status.rb @@ -27,7 +27,6 @@ module Clusters state :update_errored, value: 6 state :uninstalling, value: 7 state :uninstall_errored, value: 8 - state :uninstalled, value: 9 event :make_scheduled do transition [:installable, :errored, :installed, :updated, :update_errored, :uninstall_errored] => :scheduled @@ -60,10 +59,6 @@ module Clusters transition [:scheduled] => :uninstalling end - event :make_uninstalled do - transition [:uninstalling] => :uninstalled - end - before_transition any => [:scheduled] do |app_status, _| app_status.status_reason = nil end diff --git a/app/services/clusters/applications/check_uninstall_progress_service.rb b/app/services/clusters/applications/check_uninstall_progress_service.rb index 2a2594a30c8..efb2bb1b67d 100644 --- a/app/services/clusters/applications/check_uninstall_progress_service.rb +++ b/app/services/clusters/applications/check_uninstall_progress_service.rb @@ -23,7 +23,9 @@ module Clusters private def on_success - app.make_uninstalled! + app.destroy! + rescue StandardError => e + app.make_errored!("Application uninstalled but failed to destroy: #{e.message}") ensure remove_installation_pod end |