Following the Cloudforms book, I am creating a service catalog item for VMware provisioning and then overriding some of the values through dialog values (i.e. src_vm_id, placement_ds_name, etc.) and then setting the customization spec selected by a dialog item. However when trying to provision a VM from a template with an OS different from that of my catalog item template, I am returned the following error:
Service Provision Error: Server [EVM] Service [Custom-20181123-042243] Step [checkprovisioned] Status [Error Creating Service] Message [[MiqException::MiqProvisionError]: Customization Specification  for OS type [Linux] does not match the template VM OS]
I’ve debugged this enough to identify that this happens when I pick a Windows template through my dialog but have a Linux template as the value in the Service Catalog item. Running the object walker, I can see that source.platform is equal to Linux when it should be Windows. The code that outputs the error is here:
If I pick any Windows template, the provisioning process is able to follow through. If I change the service catalog item to a Linux one, then I can only provision Linux templates.
How do I go about changing the default catalog item template value and/or source.platform to be the appropriate one?