We want to avoid the "t-shirt style" configuration for host cpu/memory.
I am attempting to prompt users in the catalog before provisioning for cpuCount and totalMemoryMB values and then set those in the customProperties so that they are used when the host is built. I've attempted to apply these changes pre-compute allocation but it doesn't seem to work. After the host is provisioned the memory is set to default (1/2048) instead of what was set. Logs show the value is set in customProperties (output) but when host is built the customProperties shows 1/2048 value.
Can someone recommend a different direction to approach this that will work?
Following up on this. The reason I could not set cpuCount/totalMemoyMB is because we are using the Cloud Agnostic machine type and not the vSphere type. Once I changed to that it worked.
A request for this feature to be added to the Cloud Agnostic version has been generated as well.
Make sure that you have bound the inputs to those properties. You blueprint should look like
formatVersion: 1
inputs:
cpuCount:
type: integer
totalMemoryMB:
type: integer
resources:
Cloud_vSphere_Machine_1:
type: Cloud.vSphere.Machine
properties:
image: ""
cpuCount: ${input.cpuCount}
totalMemoryMB: ${input.totalMemoryMB}
Neither of these can be set in the "properties" section (get a error message when trying)
cpuCount: ${input.cpuCount}
totalMemoryMB: ${input.totalMemoryMB}
What I've been testing is to programmatically set the "output" customProperties.cpuCount and customProperties.totalMemoryMB based on input values on the catalog request form in various subscription events. However, those values are overwritten somewhere after I do (or not accepted silently) because it uses the "default" flavor settings (which is a mandatory value on the blueprint).
Based on further testing it doesn't appear that at any point can I "set" the cpuCount/totalMemoryMB in the customProperties. I tried in all the pre/post subscription points and included a variable unrelated to these and it was set but these 2 are not.
Going to try and find some reference material somewhere on this. There has to be a way to programmatically configure mem/cpu count (not using flavor) during provisioning... surely?
Following up on this. The reason I could not set cpuCount/totalMemoyMB is because we are using the Cloud Agnostic machine type and not the vSphere type. Once I changed to that it worked.
A request for this feature to be added to the Cloud Agnostic version has been generated as well.