So I have a VM I have built as a vApp, setting the vApp properties and creating the scripting internally to the VM to read the OVF environment variables. This works great, I can deploy the VM from OVF and select the VM Network and it picks up the information from the IP Pool. Power down the VM, change the VM network, and power back on and still works like a charm.
The problem arrises when I vMotion the VM to another host in the same cluster, when I do this and change the VM Network, the changes presented by the IP Pool are not seen until I power down the VM, remove the Advanced settings, and then re-add them. The settings are Gateway, IP, and Subnet mask.
This VM is used to test new hosts coming into the cluster, which part of the testing involves vMotion/Storage vMotion validation, so simply deploying the OVF for each host doesn't meet the requirements of the test. Also, on the vSwitch, each Port Group/VM Network represents a different VLAN, and not always is each cluster going to match, so I need this VM/vApp to be dynamic. I have a PowerCLI script that uses this VM in it's validation workflow, so if any actions need to be one to the VM it needs to be able to be automated through PowerCLI because this solution is to allow for checkout/testing of any number of hosts in an automated fashion.