nais / naiserator

Naiserator creates a full set of Kubernetes application infrastructure based on a single application spec.
MIT License
40 stars 12 forks source link

Unable to delete app when spec is wrong #563

Open jhrv opened 1 week ago

jhrv commented 1 week ago

User tried to delete app in Console, but nothing happened. https://nav-it.slack.com/archives/C5KUST8N6/p1725951754452269

Running kubectl describe app ds-api we saw the following event

Application.nais.io "ds-api" is invalid: spec.gcp.sqlInstances[0].tier: Invalid value: "": spec.gcp.sqlInstances[0].tier in body should match 'db-.+'

So the tier was missing, and spec was invalid.

This resulted in kubectl delete app ds-api hanging indefinitely.

When removing the failing spec, the application was deleted as expected.

Another similar issue: https://nav-it.slack.com/archives/C5KUST8N6/p1724998208664699

Expected behavior: The invalid spec should never have been accepted in the first place, or changes made to naiserator regarding tier (if this was done after this spec was already accepted) should have cleaned this up.

Edit: ☝️ https://nav-it.slack.com/archives/C01DE3M9YBV/p1724141273103439 seems to have introduced this

jhrv commented 1 week ago

Actually, the expected behavior is that the application should be possible to delete regardless of any invalid elements in the spec. However the expected behavior describe above is still true