Skip to content

Commit

Permalink
Merge pull request ManageIQ#15624 from sasoc/move_snapshot_delete_to_…
Browse files Browse the repository at this point in the history
…core_model

Move snapshot_delete to core CloudVolumeSnapshot model
blomquisg authored Sep 18, 2017
2 parents faa137d + 6c660a7 commit 5cdd4f3
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions app/models/cloud_volume_snapshot.rb
Original file line number Diff line number Diff line change
@@ -25,4 +25,40 @@ def self.my_zone(ems)
def my_zone
self.class.my_zone(ext_management_system)
end

def delete_snapshot_queue(userid = "system", _options = {})
task_opts = {
:action => "deleting volume snapshot #{inspect} in #{ext_management_system.inspect}",
:userid => userid
}

queue_opts = {
:class_name => self.class.name,
:instance_id => id,
:method_name => 'delete_snapshot',
:priority => MiqQueue::HIGH_PRIORITY,
:role => 'ems_operations',
:zone => my_zone,
:args => []
}

MiqTask.generic_action_with_callback(task_opts, queue_opts)
end

def delete_snapshot
raw_delete_snapshot
rescue => e
notification_options = {
:snapshot_op => 'delete',
:subject => "[#{name}]",
:error => e.to_s
}
Notification.create(:type => :vm_snapshot_failure, :options => notification_options)

raise e
end

def raw_delete_snapshot
raise NotImplementedError, _("raw_delete_snapshot must be implemented in a subclass")
end
end

0 comments on commit 5cdd4f3

Please sign in to comment.