def action_rollback
if release_path
rp_index = all_releases.index(release_path)
raise RuntimeError, "There is no release to rollback to!" unless rp_index
rp_index += 1
releases_to_nuke = all_releases[rp_index..-1]
else
@release_path = all_releases[-2]
raise RuntimeError, "There is no release to rollback to!" unless @release_path
releases_to_nuke = [ all_releases.last ]
end
Chef::Log.info "#{@new_resource} rolling back to previous release #{release_path}"
symlink
Chef::Log.info "#{@new_resource} restarting with previous release"
restart
releases_to_nuke.each do |i|
Chef::Log.info "#{@new_resource} removing release: #{i}"
FileUtils.rm_rf i
release_deleted(i)
end
@new_resource.updated_by_last_action(true)
end