Ignasi Barrera created JCLOUDS-451:
--------------------------------------
Summary: sshj 0.9.0 presents issues with the
ComputeServiceLiveTests
Key: JCLOUDS-451
URL: https://issues.apache.org/jira/browse/JCLOUDS-451
Project: jclouds
Issue Type: Bug
Components: jclouds-compute
Affects Versions: 1.7.0
Reporter: Ignasi Barrera
When upgrading the jclouds-sshj driver to sshj 0.9.0, once
ComputeServiceLiveTest fails with the following stacktrace:
testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.digitalocean.compute.DigitalOceanComputeServiceLiveTest)
Time elapsed: 214.337 sec <<< FAILURE!
org.jclouds.rest.AuthorizationException:
(foo:rsa[fingerprint(1b:28:a6:e9:82:75:3f:3b:8e:1f:aa:b7:35:0f:1c:81),sha1(80:94:6f:57:50:5d:10:d4:e6:5f:0e:5f:ea:1e:17:ac:22:c7:56:01)]@192.241.153.27:22)
(foo:rsa[fingerprint(1b:28:a6:e9:82:75:3f:3b:8e:1f:aa:b7:35:0f:1c:81),sha1(80:94:6f:57:50:5d:10:d4:e6:5f:0e:5f:ea:1e:17:ac:22:c7:56:01)]@192.241.153.27:22)
error acquiring {hostAndPort=192.241.153.27:22, loginUser=foo, ssh=1277971554,
connectTimeout=60000, sessionTimeout=60000} (not retryable): Exhausted
available authentication methods
at org.jclouds.sshj.SshjSshClient.propagate(SshjSshClient.java:380)
at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:211)
at org.jclouds.sshj.SshjSshClient.connect(SshjSshClient.java:221)
at
org.jclouds.compute.callables.SudoAwareInitManager.refreshAndRunAction(SudoAwareInitManager.java:78)
at
org.jclouds.compute.callables.BlockUntilInitScriptStatusIsZeroThenReturnOutput.interruptTask(BlockUntilInitScriptStatusIsZeroThenReturnOutput.java:161)
at
com.google.common.util.concurrent.AbstractFuture.cancel(AbstractFuture.java:136)
at
org.jclouds.compute.internal.BaseComputeServiceLiveTest.weCanCancelTasks(BaseComputeServiceLiveTest.java:309)
at
org.jclouds.compute.internal.BaseComputeServiceLiveTest.testAScriptExecutionAfterBootWithBasicTemplate(BaseComputeServiceLiveTest.java:266)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: net.schmizz.sshj.userauth.UserAuthException: Exhausted available
authentication methods
at net.schmizz.sshj.SSHClient.auth(SSHClient.java:217)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:316)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:335)
at
org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:142)
at
org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:38)
at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:191)
... 26 more
Caused by: net.schmizz.sshj.userauth.UserAuthException: Timeout expired
at
net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:33)
at
net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:26)
at net.schmizz.concurrent.Promise.retrieve(Promise.java:139)
at
net.schmizz.sshj.userauth.UserAuthImpl.authenticate(UserAuthImpl.java:69)
at net.schmizz.sshj.SSHClient.auth(SSHClient.java:211)
... 31 more
Caused by: java.util.concurrent.TimeoutException: Timeout expired
... 34 more
Caused by: net.schmizz.sshj.userauth.UserAuthException: Exhausted available
authentication methods
at net.schmizz.sshj.SSHClient.auth(SSHClient.java:217)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:316)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:335)
at
org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:142)
at
org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:38)
at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:191)
... 26 more
Caused by: net.schmizz.sshj.userauth.UserAuthException: Timeout expired
at
net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:33)
at
net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:26)
at net.schmizz.concurrent.Promise.retrieve(Promise.java:139)
at
net.schmizz.sshj.userauth.UserAuthImpl.authenticate(UserAuthImpl.java:69)
at net.schmizz.sshj.SSHClient.auth(SSHClient.java:211)
... 31 more
Caused by: java.util.concurrent.TimeoutException: Timeout expired
... 34 more
A more complete discussion and investigations can be found here:
https://github.com/jclouds/jclouds/pull/274
This can potentially affect the ComputeService as it does not allow jclouds to
connect to the node to run scripts in certain cases. We still haven't been able
to track down in which concrete cases this issue appears, but it is something
that should be isolated and understood before upgrading to 0.9.0.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)