Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Treat LabelSelectors as atomic by Server Side Apply to fix #92913 #93901

Merged
merged 2 commits into from Oct 3, 2020

Conversation

jpbetz
Copy link
Contributor

@jpbetz jpbetz commented Aug 11, 2020

What type of PR is this?

/kind bug

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #92913

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Server Side Apply now treats LabelSelector fields as atomic (meaning the entire selector is managed by a single writer and updated together), since they contain interrelated and inseparable fields that do not merge in intuitive ways.

/sig api-machinery
/wg api-expression
/cc @apelisse

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/bug Categorizes issue or PR as related to a bug. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. wg/api-expression Categorizes an issue or PR as relevant to WG API Expression. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Aug 11, 2020
@jpbetz
Copy link
Contributor Author

jpbetz commented Aug 11, 2020

/priority important-soon

@k8s-ci-robot k8s-ci-robot added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/kubectl kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/node Categorizes an issue or PR as relevant to SIG Node. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Aug 11, 2020
@fedebongio
Copy link
Contributor

/cc @liggitt

@jpbetz jpbetz changed the title Treat LabelSelectors atomic by Server Side Apply to fix #92913 Treat LabelSelectors as atomic by Server Side Apply to fix #92913 Aug 11, 2020
go.mod Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added area/kubelet area/release-eng Issues or PRs related to the Release Engineering subproject area/test sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. labels Sep 30, 2020
@jpbetz jpbetz force-pushed the atomic-structs branch 2 times, most recently from 7c9947d to 3e55005 Compare September 30, 2020 18:49
@jpbetz
Copy link
Contributor Author

jpbetz commented Oct 1, 2020

@apelisse I've picked up kubernetes-sigs/structured-merge-diff#170 to reconcile existing fieldset data with atomic<->granular schema changes. This is ready for review.

cc @liggitt for version bumps

@apelisse
Copy link
Member

apelisse commented Oct 1, 2020

That's exciting!
/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 1, 2020
@apelisse
Copy link
Member

apelisse commented Oct 1, 2020

Let's make sure we update the documentation along with that. I was also tracking a few tasks relative to that, let me look them up.

@apelisse
Copy link
Member

apelisse commented Oct 1, 2020

Mostly tracked under this umbrella comment:
kubernetes-sigs/structured-merge-diff#115 (comment)

@jpbetz
Copy link
Contributor Author

jpbetz commented Oct 2, 2020

@liggitt Could I get you to approve just the version bump? I've checked the the pin-dependency and bazel-update changes look clean.

@liggitt
Copy link
Member

liggitt commented Oct 3, 2020

/lgtm
/approve

@liggitt
Copy link
Member

liggitt commented Oct 3, 2020

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 3, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jpbetz, liggitt

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 3, 2020
@fejta-bot
Copy link

/retest
This bot automatically retries jobs that failed/flaked on approved PRs (send feedback to fejta).

Review the full test history for this PR.

Silence the bot with an /lgtm cancel or /hold comment for consistent failures.

@k8s-ci-robot k8s-ci-robot merged commit 90c9f7b into kubernetes:master Oct 3, 2020
@k8s-ci-robot k8s-ci-robot added this to the v1.20 milestone Oct 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/ipvs area/kubectl area/kubelet area/release-eng Issues or PRs related to the Release Engineering subproject area/test cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. wg/api-expression Categorizes an issue or PR as relevant to WG API Expression.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Server Side Apply - PodSelector empty dict not applied
6 participants