Search the VMware Knowledge Base (KB)
View by Article ID

After the vRA update, Infrastructure tab fails with 401 Error (2144965)

  • 1 Ratings

Symptoms

  • After a recent update to VMware vRealize Automation, 401 errors appear in the Infrastructure tab.
  • In the Web_Admin_All.log located in C:\Program Files (x86)\VMware\vCAC\Server\Website\Logs on the IaaS web server, you see errors similar to:

       [UTC:2016-03-31 18:18:00 Local:2016-03-31 12:18] [Error]: [sub-thread-Id="21"  context=""  token=""] Error occurred writing to the repository tracking log
       System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException:
       The handshake failed due to an unexpected packet format.
       at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
       at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.ConnectStream.WriteHeaders(Boolean async)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
       at System.Net.HttpWebRequest.GetRequestStream()
       at System.Data.Services.Client.ODataRequestMessageWrapper.SetRequestStream(ContentStream requestStreamContent)
       at System.Data.Services.Client.BatchSaveResult.BatchRequest()
       at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
       at DynamicOps.Repository.RepositoryServiceContext.SaveChanges(SaveChangesOptions options)
       at DynamicOps.Repository.Tracking.RepoLoggingSingleton.WriteExceptionToLogs(String message, Exception exceptionObject, Boolean writeAsWarning)
       INNER EXCEPTION: System.IO.IOException: The handshake failed due to an unexpected packet format.
       at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
       at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.ConnectStream.WriteHeaders(Boolean async)

       
    Note: The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment.

  • In the web.config file for the web administration service located in C:\Program Files (x86)\VMware\vCAC\Server\Website on the IaaS web server, the repository address is set to localhost on port 80, similar to:

       <add key="repositoryAddress" value="https://localhost:80/repository/" />

Purpose

This article provides steps to resolve the 401 error after vRealize Automation upgrade.

Cause

Under some circumstances, the web.config file can be updated with an invalid URL during the update of the IaaS web services.

Resolution

To resolve this issue, update the web.config with the correct URL using the following procedure.

Note: If there are more than one IaaS web servers, this procedure will need to be completed on all nodes.

  1. Log in to the IaaS web server and navigate to the location of the C:\Program Files (x86)\VMware\vCAC\Server\Website\web.config file.
  2. Back up the website web.config file.
  3. Change the repository address to use the appropriate FQDN for the Model Manager Website, which resides on the IaaS web server(s), similar to the following example:

    <add key="repositoryAddress" value="https://<IaaS Web FQDN>:443/repository/" />

    If there is only a single server, this will likely by the FQDN of the host. If there is more than one server, a VIP FQDN pointing to a load balancer will likely be in use.

  4. Run iisreset from an administrative command prompt to restart the service.

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 1 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 1 Ratings
Actions
KB: