[PATCH conductor] BUG-2751 - Delete instance on provider side when deleted in conductor
Tomas Hrcka
thrcka at redhat.com
Thu Dec 8 14:22:08 UTC 2011
---
src/app/models/instance.rb | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
index 738da87..279e1a7 100644
--- a/src/app/models/instance.rb
+++ b/src/app/models/instance.rb
@@ -129,7 +129,7 @@ class Instance < ActiveRecord::Base
validate :pool_and_account_enabled_validation, :on => :create
before_destroy :destroyable?
-
+ before_destroy :destroy_on_provider
# A user should only be able to update certain attributes, but the API may permit other attributes to be
# changed if called from another Aeolus component, so attr_protected isn't quite what we want:
USER_MUTABLE_ATTRS = ['name']
@@ -482,6 +482,18 @@ class Instance < ActiveRecord::Base
{:title => I18n.t("instances.preset_filters.pending"), :id => "pending", :query => where("instances.state" => "pending")}
]
+ def destroy_on_provider
+ begin
+ @task = self.queue_action(self.owner, 'destroy')
+ unless @task
+ raise ActionError.new("destroy cannot be performed on this instance.")
+ end
+ Taskomatic.destroy_instance(@task)
+ rescue Exception => e
+ retry if self.tasks.last.action != 'destroy'
+ end
+ end
+
private
def self.apply_search_filter(search)
--
1.7.6.4
More information about the aeolus-devel
mailing list