spring-cloud-deployer-cloudfoundry
spring-cloud-deployer-cloudfoundry copied to clipboard
Apps with long names fail to deploy
As a user, I'm trying to deploy a stream in SCDF with the server name as message-routingdevelopment-dataflow-server
and the stream name as ticktockluke
. When the stream apps are deployed, I see the route and name for an app as message-routingdevelopment-dataflow-server-5gvlynZ-ticktockluke.cfapps.io
and message-routingdevelopment-dataflow-server-5gvlynZ-ticktockluke
respectively.
This puts the name at (max) 63 characters, which is by design; however, it appears to have deployment issues in PWS. When the same stream is deployed with a name luke1
, all the apps are successfully deployed. There appears to be a general issue with lengthier names; following error captures it, but there's no caused by.
Error:
2017-11-13T17:04:23.22-0500 [APP/PROC/WEB/0] OUT 2017-11-13 22:04:23.224 INFO 19 --- [nio-8080-exec-3] o.s.c.d.s.c.StreamDeploymentController : Downloading resource URI [maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RELEASE]
2017-11-13T17:04:23.25-0500 [APP/PROC/WEB/0] OUT 2017-11-13 22:04:23.254 INFO 19 --- [nio-8080-exec-3] o.s.c.d.s.c.StreamDeploymentController : Deploying application named [log] as part of stream named [ticktockluke2017] with resource URI [maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.2.0.RELEASE]
2017-11-13T17:04:23.30-0500 [APP/PROC/WEB/0] OUT 2017-11-13 22:04:23.308 INFO 19 --- [nio-8080-exec-3] o.s.c.d.s.c.StreamDeploymentController : Downloading resource URI [maven://org.springframework.cloud.stream.app:time-source-rabbit:1.2.0.RELEASE]
2017-11-13T17:04:24.85-0500 [APP/PROC/WEB/0] OUT 2017-11-13 22:04:24.854 INFO 19 --- [nio-8080-exec-3] o.s.c.d.s.c.StreamDeploymentController : Deploying application named [time] as part of stream named [ticktockluke2017] with resource URI [maven://org.springframework.cloud.stream.app:time-source-rabbit:1.2.0.RELEASE]
2017-11-13T17:04:25.04-0500 [APP/PROC/WEB/0] OUT 2017-11-13 22:04:25.041 ERROR 19 --- [nio-8080-exec-3] o.s.c.d.s.c.StreamDeploymentController : Exception when deploying the app StreamAppDefinition [streamName=ticktockluke2017, name=time, registeredAppName=time, properties={spring.cloud.stream.bindings.output.producer.requiredGroups=ticktockluke2017, spring.cloud.stream.bindings.output.destination=ticktockluke2017.time}]: App message-routingdevelopment-dataflow-server-5gvlynZ-ticktockluke is already deployed with state failed
2017-11-13T17:04:25.04-0500 [APP/PROC/WEB/0] OUT java.lang.IllegalStateException: App message-routingdevelopment-dataflow-server-5gvlynZ-ticktockluke is already deployed with state failed
2017-11-13T17:04:25.04-0500 [APP/PROC/WEB/0] OUT at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryAppDeployer.assertApplicationDoesNotExist(CloudFoundryAppDeployer.java:164) ~[spring-cloud-deployer-cloudfoundry-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
2017-11-13T17:04:25.04-0500 [APP/PROC/WEB/0] OUT at org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryAppDeployer.lambda$deploy$0(CloudFoundryAppDeployer.java:93) ~[spring-cloud-deployer-cloudfoundry-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
2017-11-13T17:04:25.04-0500 [APP/PROC/WEB/0] OUT at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:165) ~[reactor-core-3.0.7.RELEASE.jar!/:3.0.7.RELEASE]
Acceptance: Try a server + stream combination like in the example described above to reproduce and verify the stream apps are deployed successfully.