-
Story
-
Resolution: Won't Do
-
Undefined
-
None
-
None
-
None
We struck a deal with the API approvers that we could migrate our API, but we need to do some API cleanup in 4.15.
We kind of historically did a "bad thing" by embedding an object reference into MachineConfigPoolStatusConfiguration, and the applyconfiguration-gen generator does not like that. It generates completely wrong code unless you specify corev1.ObjectReference as external.
Applyconfigurations were not something we ever had or used in the MCO, but since server side apply happened, they've become relevant and we need them, so this hack was indeed necessary to get our API migrated until we could figure things out.
There was at least one possible solution specified in the linked PR, but it would require us to basically copy ObjectReference fields into MachineConfigPoolStatusConfiguration, which will at the very least break some of our tests without some massaging.
We've bought ourselves some time to figure out what we want/need to do
Done criteria:
- We've figured out what we're going to do with MachineConfigPoolStatusConfiguration (e.g. how we need to adjust the type so we can get the embedded reference/hax out)
- That fix has been made to our API -> clients regenerated -> brought back into the MCO
- Anything the change broke (e.g. tests, functionality) is fixed
- The shell script special case we added to client-go/hack/update-codegen.sh has been removed