## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
Mark Pollack
@markpollack
they take precedence.
so perhaps setting the value to an empty string would effectively remove it...
app.<app-name>.<app-property>= ....
Doug Whitehead
@dsw9742
yeah this is more of a redeploy scenario
Mark Pollack
@markpollack
ok, try the empty string and see how it goes.
if not, short term, remove the property from the stream def and keep defining it for the deployment.
Doug Whitehead
@dsw9742
well "" throws an error in the UI -- something about null
the UI will accept '' but when I did that it broke the front-end
Mark Pollack
@markpollack
and in the shell?
Doug Whitehead
@dsw9742
open browser console and there are errors that look like broken strings
front-end meaning SCDF dashboard UI
sorry ... I might be dicussing this in the wrong channel again
Mark Pollack
@markpollack
right, could be more strict checking in the UI, the shell might be more lenient.... don't remember off the top of my head now the validation done in the server itself, we might set the empty string as the value.
Doug Whitehead
@dsw9742
will have to check the shell
using the docker-compose containers at the moment
Doug Whitehead
@dsw9742
speaking of, not sure if you saw spring-cloud/spring-cloud-dataflow#2795 yet, but I could probably implement a similar update to the spring-cloud-skipper Dockerfile to add the skipper shell to the image for, well, situations just like this :)
Mark Pollack
@markpollack
seems reasonable, I asked Chris to comment as well.
cezannetx03
@cezannetx03_twitter
I am new to spring cloud data flow. I was able to create and deploy a stream with some apps using SpEL to cloud data flow server. I would like to use Skipper for continuous deployment but I don't understand how I can deploy my stream using dataflow shell with skipper shell. The packages for apps can be installed and pushed to platform. After pushing the apps to CF, how can I get my apps to be deployed to a stream?
Sabby Anandan
@sabbyanandan
Hi, @cezannetx03_twitter. Check out the example walkthrough of the developer experience. Alternatively, you could automate all those individual commands using SCDF's RESTful endpoints. See this recording from a recent webinar.
cezannetx03
@cezannetx03_twitter
Thanks Sabby for sharing.
cezannetx03
@cezannetx03_twitter
I am not able to start spring-cloud-skipper-shell-2.0.0.RELEASE.jar. This is the error I/O error on GET request for "http://localhost:7577/api/about": Connect to localhost:7577 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect; nested exception is org.apache.http.conn.HttpHostConnectException: Connect to localhost:7577 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
Details of the error have been omitted. You can use the stacktrace command to print the full stacktrace.
server-unknown:>
I have my dataflow server 2.0 deployed on CF and can't connect to it because the shell is not running. Hope someone can give me a clue :). Thanks
Sabby Anandan
@sabbyanandan

I'm confused as to what you're trying to do. If you need to run SCDF + Skipper on CF, have you followed the getting-started guide in entirety? See here.

Both Skipper and SCDF are 2 different apps. They need 2 different manifest.yml with the respective properties as described in the docs ^^.

Also: SCDF uses Skipper APIs behind the scenes. You need to cf push Skipper and provide the route of Skipper to SCDF via SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI property.

Lastly, if you are a PAS customer, you could use the SCDF-tile for PCF to create SCDF service-instances. Because, that automates all the manual provisioning bits.
How are you running CF?
cezannetx03
@cezannetx03_twitter
Yes, I were able to deploy dataflow server 2.0 and skipper server 2.0 on CF. Now I am trying to start dataflow shell 2.0 on local and target to remote dataflow server on CF. I am having error to start dataflow shell with this command java -jar .\spring-cloud-dataflow-shell-1.7.3.RELEASE.jar
Sabby Anandan
@sabbyanandan
Are you starting SCDF or Skipper Shell?
cezannetx03
@cezannetx03_twitter
Skipper shell on local
java -jar spring-cloud-skipper-shell-2.0.0.RELEASE.jar
I think I made a mistake. I should start dataflow shell :(
Sabby Anandan
@sabbyanandan
Please take a moment to skim through the ref. guide in entirety. Here's the relevant section in the docs that describes how to connect Local Shell to a remote Skipper-server.
You can connect to Skipper-server from Skipper-shell. Likewise, you'd do similar for SCDF Shell<->Server as well.
The SCDF ref. guide include the commands for it. Again, it'd be good to skim through the ref. guide for both.
One more thing. Can you not use the SCDF Tile?
cezannetx03
@cezannetx03_twitter
why do I get this error when install a package from skipper shell?
Error waiting to get Release from a statemachine
Details of the error have been omitted. You can use the stacktrace command to print the full stacktrace.
Sabby Anandan
@sabbyanandan
Skipper server should have more details about the error. What do you see?
cezannetx03
@cezannetx03_twitter
2019-03-13T18:33:21.447-05:00 [APP/PROC/WEB/0] [OUT] 2019-03-13 23:33:21.445 INFO 24 --- [nio-8080-exec-1] o.s.s.s.DefaultStateMachineService : Acquiring machine with id order-source
2019-03-13T18:33:21.468-05:00 [APP/PROC/WEB/0] [OUT] 2019-03-13 23:33:21.457 INFO 24 --- [eTaskExecutor-2] o.s.c.s.s.s.StateMachineConfiguration : Entering state StateMachineState [getIds()=[INSTALL, INSTALL_INSTALL], toString()=AbstractState [id=INSTALL, pseudoState=null, deferred=[], entryActions=[], exitActions=[], stateActions=[], regions=[], submachine=INSTALL_INSTALL INSTALL_EXIT / / uuid=ebbfc68d-e79e-46c4-816a-20fb8e409768 / id=scdf-kafka-vehicle-telemetry-source], getClass()=class org.springframework.statemachine.state.StateMachineState]
2019-03-13T18:33:21.468-05:00 [APP/PROC/WEB/0] [OUT] 2019-03-13 23:33:21.459 INFO 24 --- [eTaskExecutor-2] o.s.c.s.s.s.StateMachineConfiguration : Entering state ObjectState [getIds()=[INSTALL_INSTALL], getClass()=class org.springframework.statemachine.state.ObjectState, hashCode()=1422875887, toString()=AbstractState [id=INSTALL_INSTALL, pseudoState=org.springframework.statemachine.state.DefaultPseudoState@566c5a76, deferred=[], entryActions=[org.springframework.cloud.skipper.server.statemachine.InstallInstallAction@610d28b8], exitActions=[], stateActions=[], regions=[], submachine=null]]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] 2019-03-13 23:33:21.522 ERROR 24 --- [eTaskExecutor-2] o.s.c.s.s.statemachine.AbstractAction : Action execution failed class=[class org.springframework.cloud.skipper.server.statemachine.InstallInstallAction]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] java.lang.NullPointerException: null
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.domain.SpringCloudDeployerApplicationManifest.getApplicationName(SpringCloudDeployerApplicationManifest.java:107) ~[spring-cloud-skipper-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.deployer.AppDeploymentRequestFactory.createAppDeploymentRequest(AppDeploymentRequestFactory.java:96) ~[spring-cloud-skipper-server-core-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.deployer.DefaultReleaseManager.install(DefaultReleaseManager.java:105) ~[spring-cloud-skipper-server-core-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.service.ReleaseService.install(ReleaseService.java:196) ~[spring-cloud-skipper-server-core-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.service.ReleaseService.install(ReleaseService.java:182) ~[spring-cloud-skipper-server-core-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.service.ReleaseService.install(ReleaseService.java:139) ~[spring-cloud-skipper-server-core-1.1.2.RELEASE.jar!/:1.1.2.RELEASE]
2019-03-13T18:33:21.523-05:00 [APP/PROC/WEB/0] [OUT] at org.springframework.cloud.skipper.server.service.ReleaseService$FastClassBySpringCGLIB$f1c5f0a2.invoke(<generated>)
cezannetx03
@cezannetx03_twitter
I found the code throws error if (!this.metadata.containsKey("name"))
The Skipper docs does not say metadata:
name: mypackage is required in the template.yml
Janne Valkealahti
@jvalkeal
Could you better describe what you are actually trying to do? Skipper shell is used only if you use skipper without dataflow. If you use dataflaw then use dataflow shell.
And don't try to mix 1.x and 2.x versions, it wont work.
cezannetx03
@cezannetx03_twitter
I am using dataflow & skipper verion 2.
I have a stream TEST with order|inventory|shipping
Is there any way I can update stream TEST with new version of inventory and shipping in one stream update command from dataflow shell?
I can update stream TEST with one app like this.
stream update --name TEST --properties version.inventory=0.0.2-SNAPSHOT
Sabby Anandan
@sabbyanandan

Yes, you can. You'd separate each application-specific properties by: , (comma is the delimiter). Alternatively, you can also use the --propertiesFile option to supply a file with "n" number of properties for each application.

Lastly, for SCDF questions, please use https://gitter.im/spring-cloud/spring-cloud-dataflow channel going forward.

cezannetx03
@cezannetx03_twitter
Thanks Sabby
Srinivas
@Sriniva63328880_twitter
Hi all
cezannetx03
@cezannetx03_twitter
How does stream update work internally? Support I want to update a stream with this command "stream update --name ORDER --properties version.CREDIT_CARD_VALIDATION=1.0.2-RELEASE". I do see that update will start the credit card app with new version and then stop and remove the old version of credit card app. My question is how does Skipper determine when the old version of credit card can be stopped and removed?
Sabby Anandan
@sabbyanandan

Hi, @cezannetx03_twitter. Here's some relevant info (for k8s) as to how the decision is made.

Skipper is looking to see if the health endpoint of the Boot application is OK. The spring.cloud.skipper.server.strategies.healthcheck.timeoutInMillis property sets the maximum time the upgrade process waits for a healthy app. The default value is 5 minutes. Skipper fails the deployment if it is not healthy within that time. The spring.cloud.skipper.server.strategies.healthcheck.sleepInMillis property sets how long to sleep between health checks.

More details is in the ref. guide. A similar strategy is also applied for CF and Local implementations as well.

cezannetx03
@cezannetx03_twitter
If the app with older version was stopped premature, the message being processed could be lost. Is there an ack for confirming message delivery ?
Sabby Anandan
@sabbyanandan
All the messaging semantics are baked in Spring Cloud Stream. If the message is not acknowledged by the streaming app, yes, it will be persistent and available in the message broker, so when a new application starts spawning it will consume from where the previous version got cut-off.