The code is raising the error on the last line in this method as you point out.
def self.request_task_class_from(attribs)
source_id = MiqRequestMixin.get_option(:src_vm_id, nil, attribs['options'])
vm_or_template = VmOrTemplate.find_by_id(source_id)
raise MiqException::MiqProvisionError, "Unable to find source Template/Vm with id [#{source_id}]" if vm_or_template.nil?
via = MiqRequestMixin.get_option(:provision_type, nil, attribs['options'])
vm_or_template.ext_management_system.class.provision_class(via)
end
We can tell that the vm_or_template
object is valid (checked on the third line) but ext_management_system
is nil
which means the VM/Template being used for this service is no longer connected to the provider.
You will need to edit the catalog item and select a new template or recreate the catalog item to resolve this.