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

revise "single Kubernetes repos" jobs #14379

Merged
merged 7 commits into from
Oct 2, 2019

Conversation

pohly
Copy link
Contributor

@pohly pohly commented Sep 18, 2019

This restores the original design for these jobs (i.e. letting the repo decide what it tests) and, after reconsidering what those repos currently test, extends the testing of all sidecars such they get tested against the same set of Kubernetes releases.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. area/config Issues or PRs related to code in /config sig/testing Categorizes an issue or PR as relevant to SIG Testing. labels Sep 18, 2019
@pohly
Copy link
Contributor Author

pohly commented Sep 18, 2019

/hold

kubernetes-csi/external-resizer#53 changed external-resizer so that it always tests against CSI_PROW_KUBERNETES_VERSION=latest. As long as that is in place, enabling the testing of external-resizer with Prow jobs for different Kubernetes versions doesn't make sense.

@gnufied: can you clarify how external-resizer should be tested, now and once Kubernetes 1.16 is out?

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 18, 2019
@@ -12,10 +12,6 @@ presubmits:
preset-service-account: "true"
preset-dind-enabled: "true"
preset-kind-volume-mounts: "true"
annotations:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should replace this with updated testgrid annotations

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added. Wasn't that then also missing for the other repos which were tested against multiple Kubernetes releases?

According to https://github.com/kubernetes/test-infra/blob/master/testgrid/config.md#prow-job-configuration, testgrid-tab-name is optional and defaults to the job name. I therefore left it out. Perhaps it can also be removed from other jobs?

However, the config check now fails with "Testgrid group pull-kubernetes-csi-csi-driver-host-path-1-15-on-kubernetes-master does not have a matching jenkins or prow job" and similar messages about the other jobs. pull-kubernetes-csi-csi-driver-host-path-1-15-on-kubernetes-master is only used once as job name, why is it called a "Testgrid group"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old repos were whitelisted as being allowed to have no matching testgrid entry. I think we can remove the whitelist now

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree on removing the whitelist. But that won't fix the verification error, will it?

always_run: true
decorate: true
skip_report: false
skip_branches: ["^(errorhandling|k8s_1.12.0-beta.1|release-0.4|release-1.0|revert-72-pvclister|saad-ali-patch-1|saad-ali-patch-2|test-yang|updateSize)$"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all of these private/test branches should be cleaned up by now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

livenessprobe still has them, and external-provisioner gained a new branch recently (https://github.com/kubernetes-csi/external-provisioner/tree/revert-212-automated-cherry-pick-of-%23209-upstream-release-1.0).

I've removed the extra skip branches anyway, because it only affects pull requests and those branches shouldn't be the target of a pull request.

# livenessprobe is listed here because the API that it provides
# towards Kubernetes hasn't changed much. But even that isn't actually
# getting tested at the moment because the sidecar isn't part of
# the csi-driver-host-path deployment and thus doesn't get tested
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I missed that. Yes, then moving liveness probe makes sense.

@msau42
Copy link
Member

msau42 commented Sep 20, 2019

@pohly can we make the change here anyway, and remove the override from external-resizer later? I think we'll want these changes to help us add 1.16 jobs to external-resizer.

@pohly pohly force-pushed the single-kubernetes-repos branch from 5829c83 to c2b3610 Compare September 23, 2019 09:23
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 23, 2019
@pohly pohly force-pushed the single-kubernetes-repos branch 3 times, most recently from a5f8662 to 42b7d0a Compare September 23, 2019 10:24
@pohly
Copy link
Contributor Author

pohly commented Sep 25, 2019

/hold cancel

can we make the change here anyway, and remove the override from external-resizer later? I think we'll want these changes to help us add 1.16 jobs to external-resizer.

Yes, makes sense.

@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 Sep 25, 2019
@pohly
Copy link
Contributor Author

pohly commented Sep 26, 2019

I asked on #sig-testing regarding the pull-test-infra-bazel error and @Katharine replied that this looks like a bug in the scripts and that she'll look into it.

@msau42: with the new annotations on all pull jobs we'll have 72 jobs that'll appear in https://k8s-testgrid.appspot.com/sig-storage-csi - isn't that a bit much?

@msau42
Copy link
Member

msau42 commented Oct 1, 2019

Some options for splitting up testgrid tabs:

  • Tab per repo
  • CI vs pull

Or both? Tab per repo has pull jobs, CI has its own tab

@pohly
Copy link
Contributor Author

pohly commented Oct 1, 2019

Or both? Tab per repo has pull jobs, CI has its own tab

I like that best. It also allows keeping the names of the entries shorter because all entries in "csi-pull-external-attacher" are pull jobs for the same repo and thus that part doesn't need to be repeated.

pohly added 6 commits October 1, 2019 11:00
Some of these branches have been removed from the repos and those that
remain shouldn't be the target of a pull request, so we don't need to
list them.
The pull jobs for repos that get tested with multiple Kubernetes
versions didn't have dashboard annotations. Those are preferred over
explicitly configuring the dashboard.
…etes repos

The original intention was to let repos which only need to be tested
against a single Kubernetes release choose that release
themselves. The comment for `single_kubernetes_repos` still describes
that behavior.

kubernetes#13434 changed that so
that 1.15 is used for all of these repos because of some issues with
external-snapshotter.

external-snapshotter now has 1.15 in its own prow.sh, so we don't need
the override anymore in the test job and can revert to the original
behavior.
… Kubernetes versions

All are now part of all csi-driver-host-path deployments for
Kubernetes 1.13 and later and their functionality may differ depending
on the Kubernetes version. Therefore it makes sense to enable the full
test matrix instead of testing with just one Kubernetes version.
@pohly pohly force-pushed the single-kubernetes-repos branch 2 times, most recently from 27c2572 to 658524c Compare October 1, 2019 09:28
@pohly pohly force-pushed the single-kubernetes-repos branch from 658524c to 7a47459 Compare October 1, 2019 10:29
@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 1, 2019
@pohly pohly force-pushed the single-kubernetes-repos branch 2 times, most recently from cb34e8b to 902f166 Compare October 1, 2019 10:48
@pohly
Copy link
Contributor Author

pohly commented Oct 1, 2019

@msau42: I split up the testgrid and now it also passes validation.

@pohly
Copy link
Contributor Author

pohly commented Oct 1, 2019

all entries in "csi-pull-external-attacher" are pull jobs

We can't use that name for a testgrid, the name has to start with "sig" or some other whitelisted prefix. I kept "sig-storage" as common prefix.

@@ -3,7 +3,15 @@ dashboard_groups:
dashboard_names:
- sig-storage-kubernetes
- sig-storage-local-static-provisioner
- sig-storage-csi
- sig-storage-ci
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have multiple nested dashboard groups? For example, put all of these under a sig-storage-csi group?

Otherwise, would prefer prefixing all of these with "sig-storage-csi"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have multiple nested dashboard groups? For example, put all of these under a sig-storage-csi group?

I'm not sure whether that is supported by testgrid.

Otherwise, would prefer prefixing all of these with "sig-storage-csi"

So sig-storage-csi-<something> with <something> = ci/other/<repo>?

72 jobs in a single testgrid are too much. We now distinguish between
periodic CI jobs and pull jobs. Testgrids with just a single job are
avoided, instead those jobs are in "sig-storage-csi-other".
@pohly pohly force-pushed the single-kubernetes-repos branch from 902f166 to 7ecd68a Compare October 2, 2019 06:33
@msau42
Copy link
Member

msau42 commented Oct 2, 2019

/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 2, 2019
@msau42
Copy link
Member

msau42 commented Oct 2, 2019

/assign @krzyzacy

@krzyzacy
Copy link
Member

krzyzacy commented Oct 2, 2019

(I'm not on OSS these days, and I probably don't have approve rights now?)

@krzyzacy
Copy link
Member

krzyzacy commented Oct 2, 2019

/assign @BenTheElder
punt to oncall
/unassign

@k8s-ci-robot k8s-ci-robot assigned BenTheElder and unassigned krzyzacy Oct 2, 2019
@BenTheElder
Copy link
Member

happy to handle this but don't generally endorse assigning to oncall, oncall is a voluntary business hours rotation for keeping prow running..

in general config directories should have OWNERS to review / approve

@BenTheElder
Copy link
Member

/approve
I'm not a huge fan of the shell tbh but :this-is-fine:

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: BenTheElder, pohly

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 2, 2019
@k8s-ci-robot k8s-ci-robot merged commit 003dca2 into kubernetes:master Oct 2, 2019
@k8s-ci-robot k8s-ci-robot added this to the v1.17 milestone Oct 2, 2019
@k8s-ci-robot
Copy link
Contributor

@pohly: Updated the job-config configmap in namespace default using the following files:

  • key csi-driver-flex-config.yaml using file config/jobs/kubernetes-csi/csi-driver-flex/csi-driver-flex-config.yaml
  • key csi-driver-host-path-config.yaml using file config/jobs/kubernetes-csi/csi-driver-host-path/csi-driver-host-path-config.yaml
  • key csi-lib-utils-config.yaml using file config/jobs/kubernetes-csi/csi-lib-utils/csi-lib-utils-config.yaml
  • key csi-proxy-config.yaml using file config/jobs/kubernetes-csi/csi-proxy/csi-proxy-config.yaml
  • key csi-release-tools-config.yaml using file config/jobs/kubernetes-csi/csi-release-tools/csi-release-tools-config.yaml
  • key csi-test-config.yaml using file config/jobs/kubernetes-csi/csi-test/csi-test-config.yaml
  • key external-attacher-config.yaml using file config/jobs/kubernetes-csi/external-attacher/external-attacher-config.yaml
  • key external-provisioner-config.yaml using file config/jobs/kubernetes-csi/external-provisioner/external-provisioner-config.yaml
  • key external-resizer-config.yaml using file config/jobs/kubernetes-csi/external-resizer/external-resizer-config.yaml
  • key external-snapshotter-config.yaml using file config/jobs/kubernetes-csi/external-snapshotter/external-snapshotter-config.yaml
  • key livenessprobe-config.yaml using file config/jobs/kubernetes-csi/livenessprobe/livenessprobe-config.yaml
  • key node-driver-registrar-config.yaml using file config/jobs/kubernetes-csi/node-driver-registrar/node-driver-registrar-config.yaml

In response to this:

This restores the original design for these jobs (i.e. letting the repo decide what it tests) and, after reconsidering what those repos currently test, extends the testing of all sidecars such they get tested against the same set of Kubernetes releases.

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. area/config Issues or PRs related to code in /config area/testgrid cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants