I have a requirement to deploy an entire deployment to a single datastore. Datastores are limited in size so if the deployment is larger than that standard size I need to consume a second datastore and put some VMs on here. I know I can dynamically over-ride the VirtualMachine.DiskN.Storage properties in VRO to force this to a datastore but its a bit of a hack, and as soon as a second datastore is introduced it will be nearly impossible to track datastore and storage consumption and know when to start deploying to a second datastore. So I was approaching this by wanting to create a Storage Reservation per deployment, picking an empty datastore to apply that storage reservation to but then wondered if ther eis any way when submitting the form to set the deployment to use that Storage Reservation. Setting it at VRO is a bit late in the lifecycle and doesn't really use it properly.
For example if my deployment consisted of five 1TB VMs and my datastore is 4TB, at deployment time each VM deployment is run as an individual provision, so machines 1 to 4 would consume the first datastore, then how would the 5th deployment know that the datastore is going to be full, because VMs 1 to 4 haven't consumed that space yet. So it will fail. How can I di a calculation to ensure VM5 knows to use a second datastore.