vespa-engine / pyvespa

Python API for https://vespa.ai, the open big data serving engine
https://pyvespa.readthedocs.io/
Apache License 2.0
79 stars 24 forks source link

Prod deployment strategy: Support polling for deployment status #806

Closed thomasht86 closed 1 week ago

thomasht86 commented 2 weeks ago

Currently, pyvespa try to infer the run_id for a submitted deployment based on some flaky logic, which have been observed to fail under certain conditions, e.g. several deployments in short timespan.

Consider whole prod deployment strategy. Should we really wait? Might be better to try to use build number and expose a polling method, as have been requested. This is though not trivial, as one might need to poll many run_ids to find the matching build_number.

kkraune commented 2 weeks ago

do the same as in the CLI - expose method that returns the current state of the graph

kkraune commented 2 weeks ago

Thomas: discuss with Jon M for option number 2 for how to track status

bratseth commented 2 weeks ago

Option number 2: To reliably answer "is the thing I added in revision X live now", we need something like a JSON keyed on "revision", with a value saying whether at least this revision is live everywhere. The value should probably be a map so we can add multiple values per revision.

And once we're at it we should probably do the same for Vespa versions.

thomasht86 commented 1 week ago

Completed by #809