wave-k8s / wave

Kubernetes configuration tracking controller
Apache License 2.0
646 stars 82 forks source link

Children Tracking Issue: Wave does not verify if all keys exist in required children #172

Closed jabdoa2 closed 1 week ago

jabdoa2 commented 1 month ago

This bug has existed for a long time in wave. In some cases wave might add a hash annotation even though a child is still missing a key. If used with the new webhooks wave might enable scheduling for pods early (this is how we found #170, #171 and this issue).

Wave tracks its children (configmaps and secrets) in a map. Each child can either be required or not required. Each child can include all keys or only specific keys. If specific keys are referenced and the child is required wave should only start hashing once all keys exist. At the same time scheduling should only be (re-)enabled once all keys exist (same logic internally).