While the biggest new feature of vCloud Director 8.20 is the access for tenants to NSX advanced services on Edge Gateways and distributed firewall, service providers will love automatic import of vCenter virtual machines.
Import of vCenter VMs under vCloud Director management was around for long time, but the VM had to be in powered off state. In vCloud Director 8.10, the possibility of running VM import was introduced (vCloud API only feature). However, vCloud Director 8.20 simplifies this even more:
The system administrator can just drag any vCenter VM into Org VDC resource pool and vCloud Director will automatically discover such VM and import it. The VM can be even in running state. This enables migration use cases, or allows service providers to easily offer self service access to their fully managed vSphere only environments by simply connecting them to vCloud Director.
In the picture below you can see Org VDC Resource Pool (ACME_PAYG) in vCenter hierarchy with two regular vCenter VMs that were dragged there. VM_C1 was running, while VM_P2 was powered-off.
The next picture shows automatically created vApps for these two imported VMs with the prefix Discovered.
While these vApps resemble regular vApps they are not real vCloud Director vApps until they are adopted. The adoption happens when the VM inside the vApp is somehow reconfigured.
By default VM discovery is enabled for every Organization in vCloud Director. It can be disabled in General Settings (UI or API)
or with CMT command on VCD cell:
cell-management-tool manage-config -n managed-vapp.discovery.activated -v false
This behavior can be overridden at Org VDC level with API element <VmDiscoveryEnabled>.
Here are the differences between Discovered and Adopted vApp:
- Looks like a regular vApp
- Can have only one VM per discovered vApp
- vApp contains API element <autoNature>true</autoNature>
- When imported VM is deleted in VC or VCD, its vApp object will get automatically purged
- Is owned by system
- Is not subject to Org lease settings
- Regular vCloud Director vApp
- Can contain multiple VMs, vApp networks, etc.
- Discovered vApp will get adopted when it is reconfigured (other than changing its name or description)
- Discovery process runs in the background every 3 mins
- Failed VM import is retried after 60 mins. This can be changed with CMT command (example for 25 seconds):
cell-management-tool manage-config -n managed-vapp.discovery.retry-delay-sec -v 25
- The following VMs cannot be imported: Fault Tolerant VMs, VMs with creation/upload process in VC, templates, VCD shell VMs
- VM must be connected to Org VDC network.
- VM can be running or powered off.
- VM does not need to use Org VDC storage policy. If it resides on unknown storage policy, it is automatically relocated to the default Org VDC storage policy during the adoption however the VM must be in powered off state.
- VM with IDE controller must be in powered off state.
- VM CPU/RAM resources are changed based on Org VDC allocation type.
- VM resources are not subject to Org VDC allocation restrictions, but are charged against it.
- VM name in VC remains intact until it is adopted and renamed
- New vSphere 6.5 guest operating systems are not recognized and are imported as Other (32-bit) OS.
- By default there is minimal VM age configured to 1 hour. It means VMs that were freshly reconfigured will be skipped for the import. This is to ‘settle’ the VMs first. The interval can however be changed with CMT command (age set to 60 seconds):
cell-management-tool manage-config -n VM_DISCOVERY_MIN_AGE_SEC -v 60
- Related to the minimal age, it is important that all cells and vCloud database are using the same time configuration. Not only the time must be correct but also the time zone must be configured identically.