The problem was due to refresh failure after the VM was provisioned. The automate checks whether the VM has been added to VMDB through the refresh process. If the refresh fails, the automate does not know but keep on querying until it eventually times out (seems hanging). Because the automate does not know for sure who issues the current refreshing request, it cannot rely on the refresh error. There is no plan to enhance this part yet. The Azure provider refresh failed at listing private images which requires a lot of API calls. Azure denies if the number of API calls exceeds certain limit. This explains why the problem is not always reproducible, depending on the usage of the testing environment. There is an effort to reduce the number of API calls for listing private images, thus greatly reduce the chance of hanging issue reported here. Reassign to Dan Berger who will fix the refresh issue.
Dan, Please double check whether the use of armrest 0.3 will be available in 5.6.1, the target release version for this BZ.
https://github.com/ManageIQ/manageiq/pull/10003
This looks like it's working correctly. Now I get Last Message Service Provisioned Successfully on VMs which were indeed created. I'm going to move this to verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-1634.html