I think this implementation has a problem, sometimes compute profiles are not in use, sometimes after selecting the compute profile the vm attributes are being edited. I think we must use the vm attributes when cloning
I suggest the following code:
``` ruby
host.compute_attributes = compute_resource.compute_attributes_for(uuid)
```
and implement compute_attributes_for in the app/model/compute_resource.rb
``` ruby
def compute_attributes_for(uuid)
  vm = find_vm_by_uuid(uuid)
  vm.attributes.select{|k,v| k != :id }
end
```