[CLI] how to specify not to update running apps when cf pushing with manifest

58 views
Skip to first unread message

Haojun Zhou

unread,
Sep 4, 2014, 11:59:46 PM9/4/14
to vcap...@cloudfoundry.org
Hi,

Here is the problem i met. Once I pushed a list of apps with manifest, some apps successfully started and one of them failed. So i modified the failed one and pushed again, but the previously  successful started apps were forced to be re-uploaded and restarted. That wasted a lot of time.

Of course i could remove the started apps from the manifest befor pushing, but it's not a convinent way because every time error occures, a new manifest has to be made.

Now I personally added a cf push parameter:"no-update" to solve this problem ( Not sure if i miss any existing way). If the value is true, existing apps, which means the app's instances are still running and the parameters like memory or instances are not changed, would not be restarted. The parameter is also useful for updating some apps while leaving others unchanged.

So how about the idea and should it be a new feature of CLI?

PS, Another problem:
Currently manifest is only used with cf push, but not usable with other commands like cf delete or restart. Usually I want to delete or restart a group of apps, and now i can only do this one by one. So why manifest is disallowed with those commands? What's the concern?

Greg Oehmen

unread,
Sep 9, 2014, 2:12:06 PM9/9/14
to vcap-dev
Haojun:

Great questions.  Thanks for taking the time to ask them.  There is definitely room for maturation in the CF CLI in terms of leveraging the manifest.  One recent request was for the ability to reverse-engineer a manifest from existing configuration for a running app or set of apps.  I think there is some intersection there with your desire to push with "no-update" or at least in terms of streamlining the process of creating new manifests.

the "no-update" parameter is definitely interesting.  I don't think I'd want to pull it in exactly like that but there is definitely some incarnation that makes very good sense.  As does exploring other areas that could leverage manifests such as cf restart, cf delete as you point out.

Keep an eye on the CLI backlog.  I wrote a charter to explore manifests.  Once we get a solid handle on CLI plugins, exploring via this charter has a lot of value.

Best

Greg


--
You received this message because you are subscribed to the Google Groups "Cloud Foundry Developers" group.
To view this discussion on the web visit https://groups.google.com/a/cloudfoundry.org/d/msgid/vcap-dev/f9e8862e-c669-474b-80d1-75256bd2f8c8%40cloudfoundry.org.

To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.

Haojun Zhou

unread,
Sep 10, 2014, 9:07:30 PM9/10/14
to vcap...@cloudfoundry.org

Get it. So Greg, any schedule of CLI plugins? And anything i can do now?

Scott Truitt

unread,
Sep 11, 2014, 1:31:12 PM9/11/14
to vcap-dev
Haojun,

The note at the end of this section [1] details a way to push just one app in a multi-app manifest. Apologies if that trick isn't easy to find, it's a good one. 

As far as your other request is concerned, the old Ruby cf cli used the manifest in common commands like delete and restart, but that functionality was never added to the v6 rewrite. I had some stories when I was the PM, but they never made it out of the icebox. Greg, this would be a nice enhancement to add at some point. 


Haojun Zhou

unread,
Sep 11, 2014, 10:11:35 PM9/11/14
to vcap...@cloudfoundry.org, str...@pivotal.io
Thanks for your reply, Scott

But in fact i'm not trying to push just one app in a multi-app manifest, but trying to push the unstart apps in the manifest as well as skipping apps which are alread started.

For example, i have a manifest with a list of 10 apps. At the first time, the first 4 were uploaded and started, but the fifth app failed to start. So the whole pushing procedure was stopped and the last 5 apps were not uploaded. So the demand was to push the last 6 apps in the manifest after correcting the errors and not to re-upload and restart the first 4 apps to save time. To achieve this, now i can only push apps one by one or create a new manifest.

Not sure if i express the demand clearly, any discussion is appreciated : )

Johannes Hiemer

unread,
Sep 12, 2014, 2:31:25 AM9/12/14
to vcap...@cloudfoundry.org, str...@pivotal.io
That's something I would be really glad about as well. As the deployment and staging process takes quite amount of time, the CLI should get some more basic intelligence. What I though of was something like:

- continue on error
- redeploy if project was updated locally

Regards,
Johannes
Reply all
Reply to author
Forward
0 new messages