I created a Project in Prism Central and assigned a bunch of users to it, expecting them to be able to provision their own VMs with cloud-init configs customised to their liking.
I found this awesome example code https://www.nutanix.dev/code_samples/create-linux-vm-customised-with-cloud-init/ which shows it can be done with API calls, however, as a user in the Project, there does not seem to be any options in the PC UI that allow me to specify a custom script when creating a VM.
Are custom scripts deliberately hidden when using Projects? How are my users supposed to customise their VMs?
Best answer by waddles
Right, so in order to allow customisation for SSP consumers, they need to be cloning a Template VM, not deploying a new VM based on a disk image clone.
https://portal.nutanix.com/page/documents/details?targetId=SSP-Admin-Guide-v5_18:ssp-catalog-management-c.html was what I needed.
The problem is I have only 2 options when adding a Template VM to the catalog:
- Allow consumers to use a “Guided Setup” to decide only these fields:
- username and password
- ssh key
- locale
- hostname
- Force consumers to use a predetermined cloud-init script that is created at the time of publishing the Template to the Catalog
There is still no way for consumers to perform their own cloud-init customisations at the time the VM is created (by cloning the Template VM).