Community
Participate
Working Groups
It appears that log streaming is no longer functional with the latest Cloud Foundry update to Pivotal Web Services (PWS). It seems that it is up to CF clients, so in this case the v1 CF Java client used by CFT, to use a new endpoint to obtain log streaming. When testing on a JEE Neon.1, and deploying Dynamic Web project to PWS, the following error is encountered with CFT 1.0.1 release, and no log streaming occurs: org.eclipse.core.runtime.CoreException: Error performing operation: javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP upgrade to WebSocket at org.eclipse.cft.server.core.internal.CloudErrorUtil.toCoreException(CloudErrorUtil.java:320) at org.eclipse.cft.server.core.internal.client.BaseClientRequest.getErrorOnLastFailedAttempt(BaseClientRequest.java:176) at org.eclipse.cft.server.core.internal.client.BaseClientRequest.runAndWait(BaseClientRequest.java:168) at org.eclipse.cft.server.core.internal.client.ClientRequest.runAndWait(ClientRequest.java:71) at org.eclipse.cft.server.core.internal.client.LocalServerRequest.runAndWait(LocalServerRequest.java:105) at org.eclipse.cft.server.core.internal.client.BaseClientRequest.run(BaseClientRequest.java:83) at org.eclipse.cft.server.core.internal.client.CloudFoundryServerBehaviour.addApplicationLogListener(CloudFoundryServerBehaviour.java:845) at org.eclipse.cft.server.ui.internal.console.ApplicationLogConsoleStream.initialiseStream(ApplicationLogConsoleStream.java:106) at org.eclipse.cft.server.ui.internal.console.CloudFoundryConsole.getStream(CloudFoundryConsole.java:107) at org.eclipse.cft.server.ui.internal.console.CloudFoundryConsole.startTailing(CloudFoundryConsole.java:76) at org.eclipse.cft.server.ui.internal.console.ApplicationLogConsoleManager.doStartConsole(ApplicationLogConsoleManager.java:125) at org.eclipse.cft.server.ui.internal.console.ApplicationLogConsoleManager.startConsole(ApplicationLogConsoleManager.java:91) at org.eclipse.cft.server.ui.internal.CloudFoundryUiCallback.startApplicationConsole(CloudFoundryUiCallback.java:91) at org.eclipse.cft.server.core.internal.client.RestartOperation.startAndTrackApplication(RestartOperation.java:104) at org.eclipse.cft.server.core.internal.client.RestartOperation.performDeployment(RestartOperation.java:85) at org.eclipse.cft.server.core.internal.client.StartOperation.performDeployment(StartOperation.java:211) at org.eclipse.cft.server.core.internal.client.PushApplicationOperation.performDeployment(PushApplicationOperation.java:241) at org.eclipse.cft.server.core.internal.client.ApplicationOperation.doApplicationOperation(ApplicationOperation.java:125) at org.eclipse.cft.server.core.internal.client.AbstractPublishApplicationOperation.run(AbstractPublishApplicationOperation.java:90) at org.eclipse.cft.server.core.internal.client.CloudFoundryServerBehaviour.publishModule(CloudFoundryServerBehaviour.java:1390) at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091) at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183) at org.eclipse.cft.server.core.internal.client.CloudFoundryServerBehaviour.publishModules(CloudFoundryServerBehaviour.java:1329) at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:987) at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774) at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3172) at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: org.cloudfoundry.client.lib.CloudOperationException: javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP upgrade to WebSocket at org.cloudfoundry.client.lib.rest.LoggregatorClient.connectToLoggregator(LoggregatorClient.java:67) at org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.streamLoggregatorLogs(CloudControllerClientImpl.java:2252) at org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.streamLogs(CloudControllerClientImpl.java:254) at org.cloudfoundry.client.lib.CloudFoundryClient.streamLogs(CloudFoundryClient.java:376) at org.eclipse.cft.server.core.internal.client.CloudFoundryServerBehaviour$3.doRun(CloudFoundryServerBehaviour.java:842) at org.eclipse.cft.server.core.internal.client.CloudFoundryServerBehaviour$3.doRun(CloudFoundryServerBehaviour.java:1) at org.eclipse.cft.server.core.internal.client.BaseClientRequest.runAndWait(BaseClientRequest.java:140) ... 25 more Caused by: javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP upgrade to WebSocket at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:374) at org.cloudfoundry.client.lib.rest.LoggregatorClient.connectToLoggregator(LoggregatorClient.java:64) ... 31 more
It seems the breaking changes occur in CC API version 2.62.0, but it could have been present in earlier versions as well.
GitHub Pull Request 44 created by [nierajsingh] https://github.com/eclipse/cft/pull/44