NSX Agent Installation: Why the DNS is Important?
Although I have a lab that is currently running on NSX at home I was in need of something like a quick-test lab for NSX with me (on my mobile workstation) as I am preparing for the VCIX-NV, hereunder are my notes and the issues that I faced and how I resolved them:
It is good to mention that I have decided to run this without including Active Directory Domain Services, which includes DNS. Although I know that DNS is a requirement I had an itch to know where the installation will fail and why.
- Provision 3 ESXi hosts (1 for management and 2 for compute).
- Install a vCenter Server.
- Create the clusters.
- Add the hosts.
- Configure the distributed switches.
- Import the NSX OVF to the management ESXi and perform initial configuration and configure lookup services and add the vCenter to the NSX manager.
- If you give the NSX manager less than 5GB you will face this error when adding the lookup services “NSX Management Service operation failed.( I/O error on POST request for “http://localhost:7441/api/2.0/services/ssoconfig”:Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out )“.
- Prepare the hosts and enable the agent (FAILED)
So this is where I stumbled against the famous “Agent fails with ESX Agent Manager displaying the error: Agent VIB module not installed“, since I already know that it tries to do it via update manager I already install the VXLAN.zip on my hosts and still the same error occurred.
What did I do:
- I went to one of the ESXi hosts and did a quick search on all logs for entries related to dns:
- cd /var/log
- cat *.* | grep dns
- Nothing of importance found.
- I rechecked my config, I added all entries via their IP addresses, as there is not FQDN for that matter.
- Here I thought that I am still missing something on the logs, so I went into them one by one (yup its havoc) and when I looked into the esxupdate.log I stumbled against the following lines:
- 2016-06-20T00:54:35Z esxupdate: downloader: DEBUG: Downloading http://NSXVC:80/eam/vib?id=3f195c8b-4230-41c1-8354-77b6a27bb991-3 to /tmp/tmpkOvAD5…
- 2016-06-20T00:54:35Z esxupdate: esxupdate: ERROR: MetadataDownloadError: (‘http://NSXVC:80/eam/vib?id=3f195c8b-4230-41c1-8354-77b6a27bb991-3’, None, “(‘http://NSXVC:80/eam/vib?id=3f195c8b-4230-41c1-8354-77b6a27bb991-3’, ‘/tmp/tmpkOvAD5’, ‘[Errno 4] IOError: <urlopen error [Errno -2] Name or service not known>’)”)
- Here you’d notice that even though I have used the IP address entries through out the whole process, when the process of agent installation takes place, the name of the vCenter Server is being used rather than its IP address and since I don’t have DNS configured !TADA! it failed.
- I installed DNS on the vCenter Server itself and created the forward and reverse zones then reconfigured the ESXi hosts and the NSX manager with proper DNS entries and clicked resolve on all the hosts and the process completed successfully =).
And now we know why the DNS is crucial for the NSX installation process.
I hope this has been helpful, and thank you for taking the time to read it.