The Blog

Failed to Add Host Using vCenter 5.1 Appliance: “Datacenter.QueryConnectionInfo”

When attempting to add a new host to a datacenter using a newly configured vCenter 5.1 Server appliance I received the following error:

"Call "Datacenter.QueryConnectionInfo" for object "Datacenter" on vCenter Server "vcenter" failed."
vCenter-Add-Host-Failed

"Call "Datacenter.QueryConnectionInfo" for object "Datacenter" on vCenter Server "vcenter" failed."

To ensure there was not an error with the host I decided to try to connect directly to the "esxi02" server using the vSphere Client. Connecting directly to the ESXi Server, pinging and DNS resolution worked fine.

Next I tried adding the ESXi host in vCenter using the IP address which worked fine. This was confusing because I thought I had ruled out DNS related problems with the other tests I performed.

I tried to add the host in vCenter again using the FQDN and it worked. Interesting... The previous tests I did confirmed name resolution from my Windows 7 machine to the ESXi host. What I missed is that I did not test name resolution from the vCenter Server appliance to the ESXi host. My first mistake and what led me to have this problem in the first place was that I set my vCenter hostname to "vcenter" instead of a FQDN such as "vcenter.domain.suffix".

As a best practice you should give ESXi hosts and vCenter Servers a fully-qualified name for the hostname. So the actual hostname of my ESXi hosts for example were "esxi02.domain.suffix", not just "esxi02" but "vCenter" was only a flat name.

So why did it work fine when I connected directly from Windows using the vSphere Client to the ESXI Server? Domain joined Windows computers are able to resolve flat names such as "esxi02" by automatically adding the domain suffix to the request. So "esxi02" automatically becomes "esxi02.domain.suffix" which is resolved by the DNS server. (DNS will not resolve a flat hostname) This is why using the flat name worked when connecting directly from Windows to the ESXi Server.

In my experience, a Linux based vCenter Server appliance will not automatically be able to resolve a flat name such as "esxi02", unless the FQDN of vCenter matches the FQDN of the ESXi host. Adding "vCenter.domain.suffix" resolved the problem and allowed me to add hosts to vCenter using only the flat name.

In summary, to avoid name resolution issues when adding hosts in vCenter:

  • Check if Lockdown Mode is enabled.
  • Ensure the hostnames for the vCenter Server and ESXi hosts exist in DNS.
  • Configure your ESXi Servers and vCenter Servers using FQDNs based on your Active DIrectory domain.
  • Use the FQDN when adding and connecting to hosts.
Neil Bryan
IT Consultant & Technical Trainer
Neil Bryan is an IT consultant and technical trainer specializing in VMware, Citrix and Microsoft virtualization and infrastructure.

3 Comments

  1. mishino

    Only disabling IPv6 support worikng for me in this case.

    1. Neil Bryan

      Thanks for your feedback. Where did you have to disable IPv6 to resolve this problem and are you using the vCenter Appliance?

  2. Muneeb

    mishino, thanks for your feedback, saved my day. I had same issue on two newly build hypervisors with freshly installed vcenter 5.5. Disabling ipv6 on hypervisors did the trick. Good Luck!

Leave a Reply

Skip to toolbar