Summary
A Gateway that a controller accepts and then never programs stays that way forever, and nobody is told.
Ten Gateways in production have sat in that state for between four and eight months, the oldest created in January and the newest in May. Every one of them reached Accepted and never reached Programmed, so a user who created a Gateway and walked away is left holding an object that is permanently half made.
The only thing that notices is an operator alert about somebody else's project, which no Datum engineer can act on.
What should happen
A Gateway that has not reached both Accepted and Programmed within a bounded window should either be reaped or reported to the person who owns it. Which of those two, and how long the window runs, is the product decision this issue is asking for.
The current behaviour has no window at all. Nothing expires, nothing escalates, and the object's owner never learns that the thing they created does not work.
What success looks like
Context
The alert that surfaced this is described in Datum's deployment runbook, which also carries the queries used to produce the counts above.
https://github.com/datum-cloud/infra/issues/4909
https://github.com/datum-cloud/infra/blob/main/docs/runbooks/gateway-never-programmed.md
Summary
A Gateway that a controller accepts and then never programs stays that way forever, and nobody is told.
Ten Gateways in production have sat in that state for between four and eight months, the oldest created in January and the newest in May. Every one of them reached Accepted and never reached Programmed, so a user who created a Gateway and walked away is left holding an object that is permanently half made.
The only thing that notices is an operator alert about somebody else's project, which no Datum engineer can act on.
What should happen
A Gateway that has not reached both Accepted and Programmed within a bounded window should either be reaped or reported to the person who owns it. Which of those two, and how long the window runs, is the product decision this issue is asking for.
The current behaviour has no window at all. Nothing expires, nothing escalates, and the object's owner never learns that the thing they created does not work.
What success looks like
Context
The alert that surfaced this is described in Datum's deployment runbook, which also carries the queries used to produce the counts above.
https://github.com/datum-cloud/infra/issues/4909
https://github.com/datum-cloud/infra/blob/main/docs/runbooks/gateway-never-programmed.md