kubernetes: server-side apply takes ownership of fields that don't get set due to status wiping

The API server wipes status changes on calls to the normal endpoints (not /status) at the storage registry layer (right next to etcd). This means that calls to <resource>/<name> can’t change status. However, if you send a server-side apply patch, the server-side apply logic still takes ownership of any fields you try to set, despite the fact that they don’t get set.

Reproduced on HEAD (8af1bf313efeeafb94c01ce04965ad8fe9cea21a).

Reproducer:

  • Send a server-side apply patch setting any field in status to /api/v1/namespaces/<ns>/pods/<name>
  • Observe that ownership of that field has been taken
  • Observe that the field isn’t set

cc #73723 cc @jennybuckley @apelisse

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 39 (26 by maintainers)

Most upvoted comments

Thanks for applying the label @erismaster, that’s indeed our target 😃

@kbruner you can update to 1.20 we didn’t make it in time 😕

We’re working on this and hoping to be done in 4 weeks. No guarantees though.

Thanks @smourapina . We won’t make it this release.

/milestone v1.19

The KEP is merged and I plan to get this ready before code freeze. Yes.