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

OCPBUGS-13854: UPSTREAM: 117371: kubelet: Don't reference the pod manager interface directly from components #1578

Merged
merged 2 commits into from May 21, 2023

Conversation

rphillips
Copy link

@rphillips rphillips commented May 17, 2023

Backports upstream kubelet patch replacing the readiness probe hack kubernetes#117371

@openshift-ci-robot openshift-ci-robot added the backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. label May 17, 2023
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 17, 2023
@openshift-ci-robot
Copy link

@rphillips: the contents of this pull request could not be automatically validated.

The following commits are valid:

The following commits could not be validated and must be approved by a top-level approver:

Comment /validate-backports to re-evaluate validity of the upstream PRs, for example when they are merged upstream.

@openshift-ci-robot
Copy link

@rphillips: the contents of this pull request could not be automatically validated.

The following commits are valid:

The following commits could not be validated and must be approved by a top-level approver:

Comment /validate-backports to re-evaluate validity of the upstream PRs, for example when they are merged upstream.

@rphillips
Copy link
Author

/payload 4.14 nightly blocking
/payload 4.14 ci blocking

@openshift-ci
Copy link

openshift-ci bot commented May 17, 2023

@rphillips: trigger 7 job(s) of type blocking for the nightly release of OCP 4.14

  • periodic-ci-openshift-release-master-nightly-4.14-e2e-aws-sdn-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-e2e-azure-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-upgrade-from-stable-4.13-e2e-gcp-ovn-rt-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-e2e-aws-ovn-upgrade
  • periodic-ci-openshift-release-master-nightly-4.14-e2e-aws-sdn-serial
  • periodic-ci-openshift-release-master-nightly-4.14-e2e-metal-ipi-ovn-ipv6
  • periodic-ci-openshift-release-master-nightly-4.14-e2e-metal-ipi-sdn-bm

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c01c04b0-f4d0-11ed-8b45-0b08046b69a5-0

trigger 4 job(s) of type blocking for the ci release of OCP 4.14

  • periodic-ci-openshift-release-master-ci-4.14-upgrade-from-stable-4.13-e2e-aws-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-upgrade-from-stable-4.13-e2e-azure-sdn-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-e2e-gcp-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.14-e2e-aws-sdn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c01c04b0-f4d0-11ed-8b45-0b08046b69a5-1

rphillips and others added 2 commits May 17, 2023 13:59
…directly from components

Shrinks the PodManager interface by one method, no abstraction is
necessary here.

kubelet: Merge orphaned mirror pod names into GetPodsAndMirrorPods

There is only one caller and both sets of data are part of the
resync operation between kubelet's desired state and the actual
state of the pod workers. Reduces the size of the interface so
that it is easier to create another pod manager.

UPSTREAM: 117371: kubelet: Remove dispatchWork and inline calls to UpdatePod

The HandlePod* methods are all structurally similar, but accrued
subtle differences. In general the only point for Handle is to
process admission and to update the pod worker with the desired
state of the kubelet's config (so that pod worker can make it
the actual state).

Add a new GetPodAndMirrorPod() method that handles when the config
pod is ambiguous (pod or mirror pod) and inline the structure.
Add comments on questionable additions in the config methods for
future improvement.

Move the metric observation of container count closer to where
pods are actually started (in the pod worker). A future change
can likely move it to syncPod.

UPSTREAM: 117371: kubelet: Separate the MirrorClient from the PodManager

The two are not coupled except accidentally. Separate them and
update callsites. This will reduce the scope of PodManager interface
to make exposing the pod worker cleaner.

UPSTREAM: 117371: kubelet: Organize and document kubelet pod-related members

Clearly describe core pod related component responsibilities in
the kubelet members. Organize the PodManager interface for clarity.

UPSTREAM: 117371: kubelet: Reduce the interface pod.Manager consumers accept

Every component that uses a pod.Manager should use a stub interface
(like we do for podWorker) that explicitly describes what methods
they use. This will allow podWorker to implement the minimum set
of manager interfaces.

UPSTREAM: 117371: kubelet: Rename PodManager DeletePod to RemovePod

RemovePod is more consistent within the kubelet to be the opposite
of AddPod, and the pod is not being deleted just "removed" from
tracking.

UPSTREAM: 117371: test: Improve debug output of init container tests

When certain status conditions are not expected, we need to see
the nested objects, but %#v doesn't handle pointers well. Output
as simple encoded JSON.

blah

blah
@openshift-ci-robot
Copy link

@rphillips: the contents of this pull request could not be automatically validated.

The following commits are valid:

The following commits could not be validated and must be approved by a top-level approver:

Comment /validate-backports to re-evaluate validity of the upstream PRs, for example when they are merged upstream.

@rphillips
Copy link
Author

/retest-required

1 similar comment
@harche
Copy link

harche commented May 18, 2023

/retest-required

@rphillips rphillips changed the title WIP: UPSTREAM: 117371: kubelet: Don't reference the pod manager interface directly from components UPSTREAM: 117371: kubelet: Don't reference the pod manager interface directly from components May 19, 2023
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 19, 2023
@rphillips rphillips changed the title UPSTREAM: 117371: kubelet: Don't reference the pod manager interface directly from components OCPBUGS-13854: UPSTREAM: 117371: kubelet: Don't reference the pod manager interface directly from components May 19, 2023
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 19, 2023
@openshift-ci-robot
Copy link

@rphillips: This pull request references Jira Issue OCPBUGS-13854, which is invalid:

  • expected the bug to target the "4.14.0" version, but it targets "4.14" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@rphillips
Copy link
Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 19, 2023
@openshift-ci-robot
Copy link

@rphillips: This pull request references Jira Issue OCPBUGS-13854, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.14.0) matches configured target version for branch (4.14.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (schoudha@redhat.com), skipping review request.

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci-robot
Copy link

@rphillips: This pull request references Jira Issue OCPBUGS-13854, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.14.0) matches configured target version for branch (4.14.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (schoudha@redhat.com), skipping review request.

In response to this:

Backports upstream kubelet patch replacing the readiness probe hack kubernetes#117371

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@harche
Copy link

harche commented May 19, 2023

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 19, 2023
@mrunalp mrunalp added approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. labels May 19, 2023
@openshift-ci
Copy link

openshift-ci bot commented May 19, 2023

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: harche, mrunalp, rphillips

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

1 similar comment
@openshift-ci
Copy link

openshift-ci bot commented May 19, 2023

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: harche, mrunalp, rphillips

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

@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD 03d56da and 2 for PR HEAD 6f51555 in total

@openshift-ci
Copy link

openshift-ci bot commented May 19, 2023

@rphillips: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/4.11-upgrade-from-stable-4.10-e2e-aws-ovn-upgrade 6f51555 link false /test 4.11-upgrade-from-stable-4.10-e2e-aws-ovn-upgrade
ci/prow/k8s-e2e-aws-ovn-serial 6f51555 link false /test k8s-e2e-aws-ovn-serial
ci/prow/e2e-aws-csi 6f51555 link false /test e2e-aws-csi

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@rphillips
Copy link
Author

/retest-required

@openshift-merge-robot openshift-merge-robot merged commit 38c64ac into openshift:master May 21, 2023
17 of 20 checks passed
@openshift-ci-robot
Copy link

@rphillips: Jira Issue OCPBUGS-13854: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-13854 has been moved to the MODIFIED state.

In response to this:

Backports upstream kubelet patch replacing the readiness probe hack kubernetes#117371

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@harche
Copy link

harche commented Jun 13, 2023

/cherry-pick release-4.13

@openshift-cherrypick-robot

@harche: #1578 failed to apply on top of branch "release-4.13":

Applying: UPSTREAM: <drop>: "UPSTREAM: <carry>: kubelet: fix readiness probes with pod termination"
Using index info to reconstruct a base tree...
M	pkg/kubelet/kubelet.go
M	pkg/kubelet/kubelet_pods.go
M	pkg/kubelet/prober/scale_test.go
M	pkg/kubelet/prober/worker_test.go
A	pkg/kubelet/status/fake_status_manager.go
M	pkg/kubelet/status/status_manager.go
M	pkg/kubelet/status/status_manager_test.go
M	pkg/kubelet/status/testing/mock_pod_status_provider.go
M	test/e2e_node/mirror_pod_readiness_test.go
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): test/e2e_node/mirror_pod_readiness_test.go deleted in UPSTREAM: <drop>: "UPSTREAM: <carry>: kubelet: fix readiness probes with pod termination" and modified in HEAD. Version HEAD of test/e2e_node/mirror_pod_readiness_test.go left in tree.
Auto-merging pkg/kubelet/status/testing/mock_pod_status_provider.go
Auto-merging pkg/kubelet/status/status_manager_test.go
Auto-merging pkg/kubelet/status/status_manager.go
CONFLICT (modify/delete): pkg/kubelet/status/fake_status_manager.go deleted in HEAD and modified in UPSTREAM: <drop>: "UPSTREAM: <carry>: kubelet: fix readiness probes with pod termination". Version UPSTREAM: <drop>: "UPSTREAM: <carry>: kubelet: fix readiness probes with pod termination" of pkg/kubelet/status/fake_status_manager.go left in tree.
Auto-merging pkg/kubelet/prober/worker_test.go
Auto-merging pkg/kubelet/prober/scale_test.go
Auto-merging pkg/kubelet/kubelet_pods.go
CONFLICT (content): Merge conflict in pkg/kubelet/kubelet_pods.go
Auto-merging pkg/kubelet/kubelet.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 UPSTREAM: <drop>: "UPSTREAM: <carry>: kubelet: fix readiness probes with pod termination"
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-4.13

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants