Alena and All, Thanks, this works.
But it's not very user-friendly and straightforward, I would like to submit a patch if necessary. candidate solutions that I can figured out include: 1) Expose 'secondary.storage.vm' global configuration in UI. 2) Modify ResourceManagerImpl .getAvailableHypervisor, check if the cluster has active storage pools or hosts associated before return. 3) Re-write ResourceManagerImpl .getAvailableHypervisor, return a list of hypervisorType and let the caller to handle fail and retry. This may change a lot of codes. Any comments? Regards Mice