Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.7.0
-
None
Description
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
(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.
Attachments
Attachments
Issue Links
- blocks
-
JCLOUDS-448 Upgrade sshj to 0.9.0
- Resolved