Not a long post, actually more like a "note to self" moment but figured I'd post it where others can see. Probably won't be seen or cared about, but this was really really odd and thought I should write it down for posterity's sake. Anywho...

 

I recently did some major networking reconfigurations in my home lab that involved decommissioning an older D-Link (yes, I know) managed 1 GbE switch in favor of a much nicer L3 Dell PowerConnect 6248 that I got for a song on eBay. I wanted to move over to the L3 switch so I can have a lab that's better aligned to a real enterprise environment, and so this will allow me to do just about everything you can see in an enterprise from the perspective of VMware technologies anyway, and this includes, most importantly, NSX. As part of this process, I wanted to move entirely away from vSSs for VM communication and on to vDS utilizing various VLAN-backed portgroups. I'm an extensive vRA user/tester/developer so vRA is plumbed into everything. Once I got the new switch configured, up and running, and everything migrated to it, I created the new vDS and port groups. Each host had a new uplink dedicated to this vDS. Existing standard switches contained the default "VM Network" port group that still existed on vswitch 0. Once getting the new vDS up, all VMs were migrated over to it. Templates were migrated next. All good, no interruptions.

 

Once the vDS migration was complete, I reconfigured my vRA lab environment to consume the VLANs through my reservations. I simultaneously deactivated the legacy "VM Network" port group that exists on the standard switches. Later, I deleted this port group from all hosts. After a couple provisioning tests, the VMs weren't landing on the vDS port group they should. Strange, I thought, they should be. At the same time, I noticed in the Networking inventory view of my vCenter that this VM Network phantom port group remained but with no hosts showing. wtf.jpg?? Now, I've encountered this in the past, but this was usually due to templates not being updated. I made sure to do this and reconfirmed no ports were active for any VMs or templates. I also checked each host from esxcli to verify this and there was no VM Network port group. I also checked vCenter via PowerCLI and *still* no VM Network port group. I decided to give vCenter the ol' razzle dazzle and reboot the sucker. Once back up, the VM Network port group is still freaking there! I'm thinking at this point that something in Postgres is jacked and I'm going to have to excise the tumor manually. But I'm thinking that this problem is somehow linked to my vRA provisioned test machines not getting the correct VLAN. I then remember that I'm using linked clones to speed the provisioning process. When I took those snapshots, I hadn't yet introduced the vDS and so the templates were joined to VM Network. But I thought that shouldn't matter since vRA should be reconfiguring them via the customization that occurs. I convert the templates to VMs, delete the snapshot, ensure they're joined (again) to the vDS port group of my choice, and re-snapshot. Once I deleted those snapshots, the phantom VM Network port group disappeared. And after running a data collection in vRA yet again and updating my blueprints to select the new snapshot name, provisioning was working to the correct port group in my reservations.

 

Anyway, super odd and something I've never run across before. Hopefully it helps someone (probably won't, though).

 

TL;DR - If you have snapshots of VMs or templates that were taken on an old vSS, you'll need to commit the snapshots or else phantom port groups may remain. vRA may also fail to provision to the correct port groups on linked clones unless you do so as well.