Overview
I'd like to be able to:
- redirect the json output of the
create deployment command to a file, for later use
- follow on the console the deployment creation with the
--track switch
The command I'd like to use and the output I'd like to see:
$ ecctl deployment create ... --track >deployment.json
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Elasticsearch][c713a0b512f641ed8f7e464a8c86632d]: running step "wait-until-running" (Plan duration 8.659474s)...
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Kibana][3d0cee21278e457e9b486ba02f36ebb1]: running step "wait-until-elasticsearch-is-accessible" (Plan duration 7.281477s)...
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Apm][7f7832d0381645b09b9a122f3d9dac22]: running step "wait-until-elasticsearch-is-accessible" (Plan duration 6.08548s)...
...
deployment.json would contain the usual json content with the info of the just created deployment.
Possible Implementation
My suggestion is to write the --track updates to the console standard error, instead of the standard output as it is now and where the json result is also written.
Testing
$ ecctl deployment create ... --track >deployment.json
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Elasticsearch][c713a0b512f641ed8f7e464a8c86632d]: running step "wait-until-running" (Plan duration 8.659474s)...
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Kibana][3d0cee21278e457e9b486ba02f36ebb1]: running step "wait-until-elasticsearch-is-accessible" (Plan duration 7.281477s)...
Deployment [b386f90bf2ad24f9be16ee925b9483e8] - [Apm][7f7832d0381645b09b9a122f3d9dac22]: running step "wait-until-elasticsearch-is-accessible" (Plan duration 6.08548s)...
...
$ ecctl deployment shutdown --force $(jq -r .id credentials-cloud-stack.json)
Context
I'm building some testing automation for the geneve tool via Makefile and shell scripting.
I can effectively use jq to extract the info I need from the captured output, with the minor annoyance of jq complaining for non-json garbage at the end of the file (the deployment creation tracking).
More annoying instead is that if I redirect the output to a file, I cannot see the creation progress.
Workaround
$ ecctl deployment create --file $DEPLOYMENT_FILE --track | tee /dev/stderr | (jq >$CREDS_FILE 2>/dev/null; cat >/dev/null)
Your Environment
Makefile and shell script automation on macOS.
Overview
I'd like to be able to:
create deploymentcommand to a file, for later use--trackswitchThe command I'd like to use and the output I'd like to see:
deployment.jsonwould contain the usual json content with the info of the just created deployment.Possible Implementation
My suggestion is to write the
--trackupdates to the console standard error, instead of the standard output as it is now and where the json result is also written.Testing
Context
I'm building some testing automation for the geneve tool via
Makefileand shell scripting.I can effectively use
jqto extract the info I need from the captured output, with the minor annoyance ofjqcomplaining for non-json garbage at the end of the file (the deployment creation tracking).More annoying instead is that if I redirect the output to a file, I cannot see the creation progress.
Workaround
Your Environment
Makefileand shell script automation on macOS.