OVMM Fails to Enable TCPS Connections

Overview

After configuring TCPS as described in 03 Enabling Remote Log Ins, the Oracle VM Manager (OVMM) does not accept connections on the default port: 54322.

Status

RESOLVED

References

Investigation

I had set up the key-store for OVMM as described in 03 Enabling Remote Log Ins which is based on 4.9 Enabling Remote Log Ins. This was done using the oracle user.

After I restart OVMM, the following messages are found in the /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/logs/AdminServer.log:

####<May 17, 2014 9:40:39 PM EST> <Info> <com.oracle.odof.core.WorkflowManager> <melbourne.yaocm.id.au> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <0000KO9ynDrFW7WFLzuHOA1JTody000002> <1400326839826> <BEA-000000> <Failed to start tcps service at port: 54322 message: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)

at javax.net.ssl.DefaultSSLServerSocketFactory.throwException(SSLServerSocketFactory.java:142)

at javax.net.ssl.DefaultSSLServerSocketFactory.createServerSocket(SSLServerSocketFactory.java:149)

at com.oracle.odof.core.WorkflowManager.startTcpsService(WorkflowManager.java:635)

at com.oracle.odof.OdofDirector.startTcpsService(OdofDirector.java:660)

at com.oracle.ovm.mgr.model.ModelEngine.startTcpsService(ModelEngine.java:1023)

at com.oracle.ovm.mgr.model.ModelEngine.createModel(ModelEngine.java:239)

at com.oracle.ovm.mgr.model.ModelEngine.start(ModelEngine.java:138)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:352)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:324)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngine(EngineManagerImpl.java:529)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startModelEngine(EngineManagerImpl.java:480)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngines(EngineManagerImpl.java:564)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.start(EngineManagerImpl.java:470)

at com.oracle.ovm.mgr.control.service.VirtualizationService.startEngines(VirtualizationService.java:543)

at com.oracle.ovm.mgr.control.service.VirtualizationService.start(VirtualizationService.java:175)

at oracle.ovm.web.OVMManagerCoreServlet.init(OVMManagerCoreServlet.java:225)

at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)

at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)

at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)

at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)

at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)

at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)

at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)

at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)

at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)

at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)

at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)

at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)

at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)

at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)

at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)

at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)

at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)

at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)

at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)

at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)

at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)

at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)

at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)

at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)

at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Caused By: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)

at java.security.Provider$Service.newInstance(Provider.java:1245)

at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)

at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)

at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)

at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)

at javax.net.ssl.SSLServerSocketFactory.getDefault(SSLServerSocketFactory.java:96)

at com.oracle.odof.core.WorkflowManager.startTcpsService(WorkflowManager.java:634)

at com.oracle.odof.OdofDirector.startTcpsService(OdofDirector.java:660)

at com.oracle.ovm.mgr.model.ModelEngine.startTcpsService(ModelEngine.java:1023)

at com.oracle.ovm.mgr.model.ModelEngine.createModel(ModelEngine.java:239)

at com.oracle.ovm.mgr.model.ModelEngine.start(ModelEngine.java:138)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:352)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:324)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngine(EngineManagerImpl.java:529)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startModelEngine(EngineManagerImpl.java:480)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngines(EngineManagerImpl.java:564)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.start(EngineManagerImpl.java:470)

at com.oracle.ovm.mgr.control.service.VirtualizationService.startEngines(VirtualizationService.java:543)

at com.oracle.ovm.mgr.control.service.VirtualizationService.start(VirtualizationService.java:175)

at oracle.ovm.web.OVMManagerCoreServlet.init(OVMManagerCoreServlet.java:225)

at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)

at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)

at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)

at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)

at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)

at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)

at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)

at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)

at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)

at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)

at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)

at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)

at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)

at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)

at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)

at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)

at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)

at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)

at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)

at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)

at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)

at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)

at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)

at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)

at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Caused By: java.security.UnrecoverableKeyException: Cannot recover key

at sun.security.provider.KeyProtector.recover(KeyProtector.java:311)

at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121)

at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)

at java.security.KeyStore.getKey(KeyStore.java:763)

at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113)

at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48)

at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:239)

at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:170)

at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:40)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at java.lang.Class.newInstance0(Class.java:355)

at java.lang.Class.newInstance(Class.java:308)

at java.security.Provider$Service.newInstance(Provider.java:1221)

at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)

at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)

at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)

at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)

at javax.net.ssl.SSLServerSocketFactory.getDefault(SSLServerSocketFactory.java:96)

at com.oracle.odof.core.WorkflowManager.startTcpsService(WorkflowManager.java:634)

at com.oracle.odof.OdofDirector.startTcpsService(OdofDirector.java:660)

at com.oracle.ovm.mgr.model.ModelEngine.startTcpsService(ModelEngine.java:1023)

at com.oracle.ovm.mgr.model.ModelEngine.createModel(ModelEngine.java:239)

at com.oracle.ovm.mgr.model.ModelEngine.start(ModelEngine.java:138)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:352)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.invokeMethod(EngineManagerImpl.java:324)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngine(EngineManagerImpl.java:529)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startModelEngine(EngineManagerImpl.java:480)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.startEngines(EngineManagerImpl.java:564)

at com.oracle.ovm.mgr.control.api.EngineManagerImpl.start(EngineManagerImpl.java:470)

at com.oracle.ovm.mgr.control.service.VirtualizationService.startEngines(VirtualizationService.java:543)

at com.oracle.ovm.mgr.control.service.VirtualizationService.start(VirtualizationService.java:175)

at oracle.ovm.web.OVMManagerCoreServlet.init(OVMManagerCoreServlet.java:225)

at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)

at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)

at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)

at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)

at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)

at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)

at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)

at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)

at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)

at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)

at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)

at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)

at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)

at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)

at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)

at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)

at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)

at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)

at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)

at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)

at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)

at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)

at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)

at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)

at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)

at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)

at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

>

Resolution

Run the procedure as root, not oracle.

This is not mentioned in the documentation, but only implied by the "#" symbol in the examples given.