PowerCLI 5.8 R1 was recently released and of the great new features included was the ability to now set the OVF/OVA properties of a VM or vAPP stored in an Open Virtualization format.
The new cmdlet allows us to query the file for the properties and interactively find out which entries we need to fill out, we can then fill these entries out and send them as part of the deployment of the VM when using the Import-vApp cmdlet which has been a part of PowerCLI for a while now. For more information on how we do this check out the recent post on the PowerCLI blog here.
The bit I like about this cmdlet is that we can now dynamically work out which host, network and storage to put the VM on based on our own metrics, like say for instance I wanted to choose the host with the most amount of memory in a cluster or a datastore on that host that had the most room left:
$VMHost = Get-Cluster "Cluster Site A" | Get-VMHost | Sort MemoryGB | Select -first 1 $Datastore = $VMHost | Get-datastore | Sort FreeSpaceGB -Descending | Select -first 1
Another method to see the entries and what needs filling out as part of the OVF/OVA Deployment is to use the cmdlet to store the information inside a variable as shown in the video I created below, this can be used to browse through the properties and fill them out as needed or create a script for later deployment. Another option for this is to load the settings into a variable and then use one of the advanced PowerShell editors like PowerGUI Script Editor to click through the variable in the variable pane and explore the options and their values as can be seen below:
I want to automate the entire build out of my virtual infrastructure like this, I hear you say…. well why not help out, get involved, I started a new Github project where we can all contribute to make sure we are not reinventing the wheel, why not check out the github project here and add your own deployment scripts, so far there are scripts to deploy both Log Insight 2.0 (the one shown in the video) and also vShield Manager 5.5.x.