[
https://issues.apache.org/jira/browse/BROOKLYN-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15114279#comment-15114279
]
Aled Sage commented on BROOKLYN-218:
------------------------------------
This error is discussed at
https://groups.google.com/forum/#!topic/jenkinsci-users/SoMVwLGXT3k
As proposed there, updating nss from 3.14 to >= 3.16 fixed it:
{noformat}
sudo yum update nss
{noformat}
We should add this to our troubleshooting docs.
> java.security.KeyException/SSLException from jclouds (needing nss update)
> -------------------------------------------------------------------------
>
> Key: BROOKLYN-218
> URL: https://issues.apache.org/jira/browse/BROOKLYN-218
> Project: Brooklyn
> Issue Type: Bug
> Environment: CentOS 6.6, with nss 3.14, running brooklyn
> 0.9.0-SNAPSHOT
> Reporter: Aled Sage
> Priority: Minor
>
> With Brooklyn 0.9.0-SNAPSHOT installed on CentOS 6.6, when trying to deploy
> to Numergy (an OpenStack cloud), it failed with the exception shown below:
> {noformat}
> 2016-01-23 11:21:46,839 WARN o.a.b.l.j.JcloudsLocation
> [brooklyn-execmanager-yXtsbB8j-44]: IOException found...
> javax.net.ssl.SSLException: java.security.ProviderException:
> java.security.KeyException
> at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
> ~[na:1.7.0_95]
> at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)
> ~[na:1.7.0_95]
> at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1874)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1857)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1378)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
> ~[na:1.7.0_95]
> at
> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
> ~[na:1.7.0_95]
> at
> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
> ~[na:1.7.0_95]
> at
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1093)
> ~[na:1.7.0_95]
> at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
> ~[na:1.7.0_95]
> at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.writePayloadToConnection(JavaUrlHttpCommandExecutorService.java:294)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:170)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:64)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:95)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> com.sun.proxy.$Proxy171.authenticateWithTenantNameAndCredentials(Unknown
> Source) ~[na:na]
> at
> org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:43)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:31)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:79)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:36)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:151)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
> ~[guava-17.0.jar:na]
> at
> org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:234)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:231)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:94)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:54)
> ~[openstack-keystone-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
> ~[guava-17.0.jar:na]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:45)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:33)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67)
> ~[guava-17.0.jar:na]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
> ~[guava-17.0.jar:na]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.location.suppliers.all.RegionToProvider.get(RegionToProvider.java:58)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.location.suppliers.all.RegionToProvider.get(RegionToProvider.java:40)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
> ~[
> jclouds-core-1.9.2.jar:1.9.2]
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
> ~[guava-17.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
> ~[guava-17.0.jar:na]
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
> ~[guava-17.0.jar:na]
> at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
> ~[jclouds-core-1.9.2.jar:1.9.2]
> at
> org.jclouds.compute.domain.internal.TemplateBuilderImpl.locationId(TemplateBuilderImpl.java:624)
> ~[jclouds-compute-1.9.2.jar:1.9.2]
> at
> org.apache.brooklyn.location.jclouds.templates.AbstractPortableTemplateBuilder$8.apply(AbstractPortableTemplateBuilder.java:135)
> ~[brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.templates.AbstractPortableTemplateBuilder$8.apply(AbstractPortableTemplateBuilder.java:134)
> ~[brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.templates.PortableTemplateBuilder.newJcloudsTemplateBuilder(PortableTemplateBuilder.java:61)
> ~[brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.templates.PortableTemplateBuilder.newJcloudsTemplate(PortableTemplateBuilder.java:70)
> ~[brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.templates.PortableTemplateBuilder.build(PortableTemplateBuilder.java:48)
> ~[brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.JcloudsLocation.buildTemplate(JcloudsLocation.java:1506)
> [brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.JcloudsLocation.obtainOnce(JcloudsLocation.java:679)
> [brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.location.jclouds.JcloudsLocation.obtain(JcloudsLocation.java:611)
> [brooklyn-locations-jclouds-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ObtainLocationTask.call(MachineLifecycleEffectorTasks.java:406)
> [brooklyn-software-base-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ObtainLocationTask.call(MachineLifecycleEffectorTasks.java:396)
> [brooklyn-software-base-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.util.core.task.Tasks.withBlockingDetails(Tasks.java:98)
> [brooklyn-core-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:380)
> [brooklyn-software-base-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:364)
> [brooklyn-software-base-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
> [brooklyn-core-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:499)
> [brooklyn-core-0.9.0-20160121.1603.jar:0.9.0-20160121.1603]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> [na:1.7.0_95]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [na:1.7.0_95]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [na:1.7.0_95]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]
> Caused by: java.security.ProviderException: java.security.KeyException
> at
> sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:146)
> ~[sunec.jar:1.7.0_95]
> at
> java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:704)
> ~[na:1.7.0_95]
> at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:78) ~[na:1.7.0_95]
> at
> sun.security.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:717)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:278)
> ~[na:1.7.0_95]
> at sun.security.ssl.Handshaker.processLoop(Handshaker.java:913)
> ~[na:1.7.0_95]
> at sun.security.ssl.Handshaker.process_record(Handshaker.java:849)
> ~[na:1.7.0_95]
> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
> ~[na:1.7.0_95]
> at
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
> ~[na:1.7.0_95]
> ... 87 common frames omitted
> Caused by: java.security.KeyException: null
> at sun.security.ec.ECKeyPairGenerator.generateECKeyPair(Native
> Method) ~[sunec.jar:1.7.0_95]
> at
> sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:126)
> ~[sunec.jar:1.7.0_95]
> ... 96 common frames omitted
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)