Skip to content

Get the created deployment ids and other metadata back as json #573

@josegonzalez

Description

@josegonzalez

What

It would be great to be able to:

  • specify -json as a flag to define the output format of the nomad-pack run command
  • get a deployment_id (and any other metadata) on a per-job basis in the response (both in plain text as well as json output)

Why

I am currently running nomad-pack as part of a CI pipeline (Github Actions). We deploy a number of jobs in CI and want to ensure they get deployed to completion. The output of nomad deployment list has to be parsed to guess the associated deployment id, making it tougher to check if the deployment is complete. Here is the jq call I had to invoke:

nomad deployment list -json | jq -r --arg job_id "$NOMAD_JOB_ID" 'last(. | sort_by(.JobVersion) | .[] | select(.JobID == $job_id)) | .ID')

Not great, but working.

That said, this fails if the nomad-pack run call does not create a deployment for a given job (because no config changed). In those cases, its useful to know which jobs did not result in a deployment so we can either avoid tracking it or something trigger a restart instead.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions