-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Overview
I'd like to be able to:
- redirect the json output of the
create deploymentcommand to a file, for later use - follow on the console the deployment creation with the
--trackswitch
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.