use process_{success,error} instead of notice and redirect, check for compute_resource.respond_to?(:associated_host) before going on long useless loops, pass vm to model to save a lookup
and remove the check we already checked for