vSphere Plugin 4.2.0 and 3.1.3 Do Not Allow Adding Arrays In Certain Versions of vCenter

Troubleshooting for VMware Solutions

Audience
Public
Source Type
Documentation

After the plugin is successfully installed, if arrays aren't able to be added the plugin, there might have an issue that is fixed in plugin version 4.2.1 (TMAN-9842). This issue has been seen on vCenter 5.5, 6.0 and 6.5 with the plugin versions 4.2 and 3.1.3.

In the HTML GUI, this is the error you'll see:

Whereas in FLEX/FLASH you'll see something different:

In this latter case it's vague so you'll need to work further through the Troubleshooting steps to verify the presence of SocketFactory errors in vsphere_client_virgo.log to know whether you've hit this issue for sure or not.

To confirm the issue, please follow the below steps.

1. Go to the virgo logs on the vCenter; if the customer is using HTML, they'll be at this path: /var/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log

If the customer is using the Flex (Flash) client, they'll be at this path: /var/log/vmware/vsphere-client/logs/vsphere_client_virgo.log

2. You're going to look for this error: errorMessage='javax/net/SocketFactory'

Here is an example of the full body of the error on an HTML client:


[2019-12-13T02:23:56.831Z] [INFO ] SsoTokenRenewalExecutor-223  ######## 100029 200004 com.vmware.vsphere.client.security.sso.SsoTokenLifetimeManager    sessionId 100029, clientId 200004, Token expiration time: Sun Jan 12 02:23:56 UTC 2020
Token renewal scheduled approximately for: Sun Jan 12 02:18:56 UTC 2020
[2019-12-13T02:25:37.205Z] [WARN ] http-bio-5090-exec-7          com.purestorage.purestoragehtml.services.FlashArrayServiceImpl    Caught throwable. java.lang.NoClassDefFoundError: javax/net/SocketFactory
        at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:525)
        at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:387)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:168)
        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at com.purestorage.purestoragehtml.services.util.FlashArrayHelper.checkConnection(Unknown Source)
        at com.purestorage.purestoragehtml.services.FlashArrayServiceImpl$1.invoke(Unknown Source)
        at com.purestorage.purestoragehtml.services.FlashArrayServiceImpl$1.invoke(Unknown Source)
        at com.purestorage.purestoragehtml.services.logging.TypedPureOperationLogger.invoke(Unknown Source)
        at com.purestorage.purestoragehtml.services.FlashArrayServiceImpl.createFlashArray(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.sun.proxy.$Proxy778.createFlashArray(Unknown Source)
        at com.purestorage.purestoragehtml.mvc.controller.FlashArrayServiceController.createFlashArray(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.vmware.vise.security.SessionManagementFilter.doFilter(SessionManagementFilter.java:134)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:689)
        at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)[2019-12-13T02:25:37.207Z] [ERROR] http-bio-5090-exec-7          com.purestorage.purestoragehtml.services.FlashArrayServiceImpl    createFlashArray : error = TypedPureResponse{error=PureResponseError{code=-4, errorMessage='javax/net/SocketFactory', detailMessage='null'}, result=null}
[2019-12-13T02:25:37.208Z] [INFO ] http-bio-5090-exec-7          com.purestorage.purestoragehtml.services.FlashArrayServiceImpl    createFlashArray : duration = 4 ms, params = CreateFlashArrayRequest(name=420-1, url=flasharray-m20-1.purecloud.com, username=pureuser, password=pureuser), result = TypedPureResponse{error=PureResponseError{code=-4, errorMessage='javax/net/SocketFactory', detailMessage='null'}, result=null}
^C

Resolution:

There are two options:

1. If you are using HTML, update to plugin version 4.2.1 or newer (install 4.2.1 directly to your vCenter by using this guide for Powershell).

2. If you are using Flash/Flex, uninstall 3.1.3 and install 3.1.1.