-
Notifications
You must be signed in to change notification settings - Fork 175
HNC: cannot delete namespaces in 1.14 #889
Comments
This is due to the new object validator; the 0.5 validator didn't check deletions at all. Why the object validator is being invoked on a namespace with no objects in it is somewhat of a mystery to me, but the logs certainly show this is happening (with an object name of Since the code is obviously wrong anyway, I'm going to go ahead and fix it. I'm not going to add any e2e tests though since 1.14 is very low priority. |
See kubernetes-retired#688 and kubernetes-retired#889 - validators need to be able to handle that OldObject might not be populated in K8s 1.14 Tested: can delete an empty (!) subnamespace in 1.14 with this change, while it hangs forever and prints out error messages from the object validators without this change. See kubernetes-retired#889 for more information.
Do you mean that the |
Yeah. I don't understand it. Our namespace and anchor validators already handle a nil OldObject but the object validators didn't. This is a bug that needs to be fixed regardless, but I don't understand why the code was invoked when there were no objects at all. |
Not sure if you've already noticed. Even deleting a full namespace (not subnamespace) doesn't work in 1.14 using the head before your fix #890 . |
I hadn't. Wow. Makes sense though, I guess! |
See kubernetes-retired#688 and kubernetes-retired#889 - validators need to be able to handle that OldObject might not be populated in K8s 1.14 Tested: can delete an empty (!) subnamespace in 1.14 with this change, while it hangs forever and prints out error messages from the object validators without this change. See kubernetes-retired#889 for more information.
Repro at head:
Log messages show that the webhook is failing because we can't decode the old object. We should be skipping this.
If it turns out that this is actually working in 0.5, then we can change the milestone back to 0.6.
The text was updated successfully, but these errors were encountered: