Installing NSX on ESX host gives internal server error

Issue

When you're setting up VMWare NSX 6.4.4.11197766 and you're getting to the step of ‘Host Preparation’ to install NSX on the ESX host, you just get the error of ‘Internal server error has occured’, and the following shows up as status in the GUI.

post22-image01

Fixing the problem

While troubleshooting the error the following was found in the file ‘/storage/log/vmware/eam/eam.log’ on the vCenter Server Appliance.

2019-04-18T21:01:38.461+02:00 |  WARN | VLSI-client-connection-monitor-31662 | HttpConfigurationCompilerBase.java | 84 | Interrupted, no more connection pool cleanups will be performed.
2019-04-18T21:01:38.495+02:00 |  INFO | vim-monitor | VcConnection.java | 640 | Connecting to https://vcenter.local.techie.cloud:8089/sdk/vimService via vCenter proxy http://localhost:80
2019-04-18T21:01:42.531+02:00 | ERROR | vim-monitor | VcConnection.java | 213 | Failed to login to vCenter as extension. vCenter has probably not loaded the EAM extension.xml yet.: Cannot complete login due to an incorrect user name or password.
2019-04-18T21:01:42.532+02:00 |  WARN | vim-monitor | VcListener.java | 111 | Trying to recover from error
(vim.fault.InvalidLogin) {
   faultCause = null,
   faultMessage = null
}
        at sun.reflect.GeneratedConstructorAccessor70.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at com.vmware.vim.vmomi.core.types.impl.ComplexTypeImpl.newInstance(ComplexTypeImpl.java:174)
        at com.vmware.vim.vmomi.core.types.impl.DefaultDataObjectFactory.newDataObject(DefaultDataObjectFactory.java:25)
        at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.ComplexStackContext.<init>(ComplexStackContext.java:30)
        at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.parse(UnmarshallerImpl.java:150)
        at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.unmarshall(UnmarshallerImpl.java:101)
        at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl.unmarshalSoapFault(UnmarshallerImpl.java:88)
        at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl.unmarshalSoapFault(UnmarshallerImpl.java:83)
        at com.vmware.vim.vmomi.client.common.impl.SoapFaultStackContext.setValue(SoapFaultStackContext.java:40)
        at com.vmware.vim.vmomi.client.common.impl.ResponseUnmarshaller.processNextElement(ResponseUnmarshaller.java:127)
        at com.vmware.vim.vmomi.client.common.impl.ResponseUnmarshaller.unmarshal(ResponseUnmarshaller.java:70)
        at com.vmware.vim.vmomi.client.common.impl.ResponseImpl.unmarshalResponse(ResponseImpl.java:274)
...skipping...
        at com.vmware.vim.vmomi.client.common.impl.ResponseImpl.unmarshalResponse(ResponseImpl.java:274)

This led me to the following VMWare KB article KB2112577. While this is for VMWare vSphere 6.0, and I'm running VMWare vSphere 6.7, the same procedure solved my issue as which is probably due to be replacing the default SSL certificate with my own.

First you'll need to log in to the vCenter Server Appliance using ssh, and enable the bash shell with the following command, and then change into the bash shell.

shell.set --enabled true
shell

Then you'll need to create a directory and get the vpxd-extention solution certificate and key.

mkdir /certificate
/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.crt
/usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.key

Then run the following command to update the EAM SSL certificate. You might need to change ‘localhost’ to your own servername, and 'Administrator@domain.local’ to your own administrator username if these differ.

python /usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py -e com.vmware.vim.eam -c /certificate/vpxd-extension.crt -k /certificate/vpxd-extension.key -s localhost -u Administrator@domain.local

Then restart the EAM service with the following commands.

service-control --stop vmware-eam
service-control --start vmware-eam

And this should solve your issue, and you can continue with the NSX install.


comments powered by Disqus