1) make sure that you have a (WTP) webapp to deploy to a server adapter
2) launch a deltacloud instance and choose to create RSE and the server adapter
3) as soon as the adapter is created, start it
4) add your webapp to it
5) wait until the publishing has completed
6) clean the server adapter
7 (repeat step 6 twice at least)
Result:
Unfortunately there's no report in the eclipse UI that things failed. The adapter still says that its started and synchronized.
You see error outputs in the console "failed to copy /opt/jboss-as/server/default/deploy/<your-weapp>" and the following stack-trace:
org.eclipse.rse.services.files.RemoteFileException: Error creating Terminal
at org.eclipse.rse.internal.services.ssh.terminal.SshTerminalShell.<init>(SshTerminalShell.java:127)
at org.eclipse.rse.internal.services.ssh.terminal.SshTerminalService.launchTerminal(SshTerminalService.java:41)
at org.eclipse.rse.internal.services.shells.TerminalShellService.runCommand(TerminalShellService.java:65)
at org.eclipse.rse.services.shells.AbstractShellService.runCommand(AbstractShellService.java:53)
at org.jboss.ide.eclipse.as.rse.core.RSELaunchDelegate.launchCommandNoResult(RSELaunchDelegate.java:126)
at org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod.startDeploymentScanner(RSEPublishMethod.java:77)
at org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod.publishFinish(RSEPublishMethod.java:70)
at org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior.publishFinish(DeployableServerBehavior.java:59)
at org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior.publishFinish(JBossServerBehavior.java:112)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:963)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:775)
at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:2889)
at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:337)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
The above exception wraps a JSchException which says "channel is not opened".
Once things start failing you wont be able to publish to the server any more. Even creating a new server adapter to your (remote) server will not work.
Weird enough: If you go to the "Remote Systems" view you'll notice that you're still able to browse the server filesystem. But the terminal and console services are not working any more. Launching a terminal ends with a stacktrace in the console:
Exception in thread "Thread-261" java.lang.NullPointerException
at org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnectionThread.readDataForever(RSETerminalConnectionThread.java:99)
at org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnectionThread.run(RSETerminalConnectionThread.java:70