The call for help started like this, “The customer cannot connect to the Inventory Services page in order to build a Server 2012 Template.” Upon talking to the customer, the problem was that they were unable to access anything in the vSphere web client; the error displayed stating that the web client was unable to authenticate to the VMware Inventory Service as shown below:
Though everything was fine when using the full-blown vSphere client, the error seen within the web client was the same regardless of the account used. I had just upgraded their vCenter server a couple weeks ago and we did have a problem in that the server ran out of hard drive space while upgrading the vCenter database, thus my database became corrupted and had to be restored. During the course of resolving the database corruption and disk space issues, we also cleared out old stats and historical data from the database and made the decision to P2V the vCenter server to increase the C:.
Well, when the vCenter server was ready once again, I started the upgrade process where we left off…Custom Install | vCenter Server since the SSO, Web Client, and Inventory Service tasks had been completed. The installation of the vCenter Server continued without issue and all looked good. Now I don’t know about you, but I’m having a hard time letting go of the full-blown vSphere client….that’s still my “go to” management tool for vSphere though we’ll all be forced to the web client soon. Thus, I didn’t know there was a problem with the web client for a couple weeks.
To resolve the issue, I had to delete and recreate the Inventory Service database using the steps below, found within the VMware vSphere Documentation Center:
1. Stop the VMware vCenter Inventory Service
2. Open a command prompt. The documentation does say you have to, but I opened a CMD prompt with elevated privileges.
3. However you prefer (CMD or Explorer), delete the contents of the following directory (assuming vCenter was installed to the default location):
C:\Program Files\VMware\Infrastructure\Inventory_Service\data
4. In the CMD prompt, change directory to:
C:\Program Files\VMware\Infrastructure\Inventory_Service\scripts
5. Execute the command createDB.bat, with no arguments, to reset the vCenter Inventory Service database. **If you’re like me and are a “clicker”, you may want to back away from the computer here for a few moments. It doesn’t need your help, it doesn’t need you clicking things to make sure its running, it just needs it time and space. The second time I executed the command, I think it took about 5 minutes. I’m not sure exactly since I left the office the second time.
6. When the command completes, start the VMware vCenter Inventory Service.
7. Back in the CMD prompt, run the is-change-sso.bat command to ensure the SSO information is correct. An example command is shown here: is-change-sso.bat https://vcenter.ballblog.info:7444/lookupservice/sdk “administrator@vsphere.local” “SSO_Password_Here“
8. In the CMD prompt, change directory to:
C:\Program Files\VMware\Infrastructure\VirtualCenter Server\isregtool
9. Run the register-is.bat command to update the stored configuration information of the Inventory Service:
register-is.bat https://vcenter.ballblog.info:443/sdk https://vcenter.ballblog.info:10443 https://vcenter.ballblog.info:7444/lookupservice/sdk
In this example I am assuming the vCenter Server using the default ports of 443, 10443, and 7444 for vCenter Server, Inventory Service, and vCenter Single Sign On. If you use custom ports, replace the port numbers in the example with the port numbers you use.
10. Documentation says to restart the vCenter server, but I simply restarted the VMware VirtualCenter Server service and upon doing so, I was able to login to the vSphere web client with no further issues.