When a new VMware host is added into a cluster, Cloudstack, by default, doesn't create all the port groups present in the cluster. And since it doesn't have all the necessary networking port groups (existing VM's port groups) it is not eligible to participate in DRS load balancing or HA.
1. Have a DRS and HA cluster in fully automated mode, with two hosts H1 and H2 created in the vCenter.
2. Configure this cluster in Cloudstack and create couple of VMs.
3. Start stressing the host by running some cpu hogging scripts in each of the VM.
4. Enable maintenance mode on one of the host - say H1 from Cloudstack.
5. Also, quickly enable maintenance mode on host H1 from vCenter.
(This should migrate all the VMs to host H2) Make sure none of the VMs are present on host H1.
6. Add host H3 into DRS cluster from vCenter and from Cloudstack as well.
7. At this point, the load is definitely imbalanced. This can be verified from vCenter ( Click on cluster -> Go to Summary tab -> under vSphere DRS section, it should show 'Load imbalanced'
Now, as per DRS rules, the load should be balanced across all the available hosts.
In this case, even after adding new host, the load is imbalanced.
The reason for the load imbalance is VMs (created from Cloudstack) are not eligible to migrate to new host because networks or the cloud portgroups are not available on the new host H3 (except for private).