kubernetes / node-problem-detector

This is a place for various problem detectors running on the Kubernetes nodes.
Apache License 2.0
2.9k stars 624 forks source link

CI: only push tar instead of also container image #925

Closed BenTheElder closed 2 months ago

BenTheElder commented 2 months ago

related to #920

AFAICT we don't need to push the image, and it will be tricker to enable pushing to a container registry with GC enabled, instead we can only push the tarball for e2e builds and leave container image pushing to release

AnishShah commented 2 months ago

looks like all NPD CI jobs is running NPD in standalone mode.

/lgtm

wangzhen127 commented 2 months ago

/lgtm /hold

@DigitalVeer Can you revert https://github.com/kubernetes/test-infra/pull/32893 now since we have accumulated enough failure signals?

BenTheElder commented 2 months ago

/hold cancel

BenTheElder commented 2 months ago

/hold

Actually, we don't need it here either do we?

What we really want is: 1) presubmit build: ensures we can build, doesn't push. we have that already 2) presubmit e2es: upload and test tarball, don't need to push container (this PR) 3) postsubmit/periodic e2es: either upload and test tarball, or use a pre-uploaded tarball 4) postsubmit/periodic build: ensure we can build container image 5) release process: publishes builds for releases to permanent storage. we have that already.

wangzhen127 commented 2 months ago

presubmit build: ensures we can build, doesn't push. we have that already

Yes

presubmit e2es: upload and test tarball, don't need to push container (this PR)

Yes. And no need to build container either.

postsubmit/periodic e2es: either upload and test tarball, or use a pre-uploaded tarball

This uses pre-uploaded tarball from postsubmit/periodic build.

postsubmit/periodic build: ensure we can build container image release process: publishes builds for releases to permanent storage. we have that already.

We use github file upload for release. We need to build both container and tar file. We only need to push tar file.

BenTheElder commented 2 months ago

So right nowci-npd-build runs test/build.sh ci while presubmit runs test/build.sh install-lib && make build

Periodic e2e seem to do: ./test/build.sh get-ci-env ... (like this one https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/ci-npd-e2e-kubernetes-gce-ubuntu/1810419258287460352)

Presubmit e2e do: ./test/build.sh -p $(BUILD_ID) pr

So "CI" mode is only used for ci-npd-build and push-tar + build-container makes sense there I think, and that should work on the community infra unless we run into bucket issues.

BenTheElder commented 2 months ago

So let's try this as-is, right now the ci-npd-build failure logs just point to the GCR push which we're dropping /hold cancel 🙃

wangzhen127 commented 2 months ago

/lgtm

k8s-ci-robot commented 2 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AnishShah, BenTheElder, wangzhen127

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: - ~~[OWNERS](https://github.com/kubernetes/node-problem-detector/blob/master/OWNERS)~~ [wangzhen127] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment