Skip to content

Prow testing#37

Merged
k8s-ci-robot merged 46 commits intokubernetes-csi:masterfrom
pohly:prow
Apr 12, 2019
Merged

Prow testing#37
k8s-ci-robot merged 46 commits intokubernetes-csi:masterfrom
pohly:prow

Conversation

@pohly
Copy link
Copy Markdown
Contributor

@pohly pohly commented Apr 8, 2019

No description provided.

pohly and others added 26 commits January 24, 2019 16:42
This may or may not work, depending on which packages have tests and
whether they contain glog.
Individual repos may have to filter out certain packages from
testing. For example, in csi-test the cmd/csi-sanity directory
contains a special test that depends on additional parameters that set
the CSI driver to test against.
After merging into external-attacher, the next Travis CI run did not
push the "canary" image because the check for "canary" only covered
the case where "-canary" is used as
suffix (https://travis-ci.org/kubernetes-csi/external-attacher/builds/484095261).
The introduction for each individual test looked like an actual
command:

  test-subtree
  ./release-tools/verify-subtree.sh release-tools
  Directory 'release-tools' contains non-upstream changes:
  ...

It's better to make it look like a shell comment and increase its
visibility with a longer prefix:

  ### test-subtree:
  ./release-tools/verify-subtree.sh release-tools
  ...
build.make: fix pushing of "canary" image from master branch
If for whatever reasons a repo already had a `release-tools` directory
before doing a clean import of it with `git subtree`, the check used
to fail because it found those old commits.

This can be fixed by telling `git log` to stop when the directory
disappears from the repo. There has to be a commit with removes the
old content, because otherwise `git subtree add` doesn't work.

Fixes: kubernetes-csi/external-resizer#21
verify-subtree.sh: relax check and ignore old content
In repos that have a test/e2e, that test suite should be run
separately because it depends on a running cluster.
This is an unmodified copy of kubernetes/hack/verify-shellcheck.sh
revision d5a3db003916b1d33b503ccd2e4897e094d8af77.
This runs "dep check" to verify that the vendor directory is
up-to-date and meets expectations (= done with dep >= 0.5.0).
In repos that have a test/e2e, that test suite should be run
separately because it depends on a running cluster.
build.make: avoid unit-testing E2E test suite
These are the modifications that were necessary to call this outside
of Kubernetes. The support for excluding files from checking gets
removed to simplify the script. It shouldn't be needed, because
linting can be enabled after fixing whatever scripts might fail the
check.
By default this only tests the scripts inside the "release-tools"
directory, which is useful when making experimental changes to them in
a component that uses csi-release-tools. But a component can also
enable checking for other directories.
This enables testing of other repos and of this repo itself inside
Prow. Currently supported is unit testing ("make test") and E2E
testing (either via a local test suite or the Kubernetes E2E test
suite applied to the hostpath driver example deployment).

The script passes shellcheck and uses Prow to verify that for future
PRs.
The travis.yml is now the only place where the Go version for the
component itself needs to be configured.
Using the same (recent) Go version for all Kubernetes versions can
break for older versions when there are incompatible changes in Go. To
avoid that, we use exactly the minimum version of Go required for each
Kubernetes version. This is based on the assumption that this
combination was tested successfully.

When building the E2E suite from Kubernetes (the default) we do the
same, but still allow building it from elsewhere.

We allow the Go version to be empty when it doesn't matter.
While switching back and forth between release-1.13 and release-1.14
locally, there was the problem that the local kind image kept using
the wrong kubelet binary despite rebuilding from source. The problem
went away after cleaning the Bazel cache. Exact root cause unknown,
but perhaps using unique tags and properly cleaning the repo helps.

If not, then the unique tags at least will show what the problem is.
Instead of always using the latest E2E tests for all Kubernetes
versions, the plan now is to use the tests that match the Kubernetes
version. However, for 1.13 we have to make an exception because the
suite for that version did not support the necessary
--storage.testdriver parameter.
The temporary fork was merged, we can use the upstream repo again.
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 8, 2019
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Apr 8, 2019
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 11, 2019

/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-unit

/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 Apr 11, 2019
@pohly pohly changed the title WIP: Prow testing Prow testing Apr 11, 2019
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 11, 2019
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 11, 2019

/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-unit

pohly and others added 3 commits April 11, 2019 13:37
This pulls in
kubernetes-csi/csi-driver-host-path#37, which
turned out to be necessary for pre-submit testing of the
livenessprobe.
prow.sh: update csi-driver-host-path
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 11, 2019

/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-unit

@pohly pohly changed the title Prow testing WIP: Prow testing Apr 11, 2019
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 11, 2019
pohly and others added 3 commits April 11, 2019 22:32
Whether a component supports sanity testing depends on the
component. For example, csi-driver-host-path enables it because it
makes sense there (and only there). Letting the prow.sh script decide
whether it actually runs simplifies the job definitions in test-infra.
prow.sh: skip sanity testing if component doesn't support it
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 12, 2019

/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-1-13-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-1-14-on-kubernetes-master
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-13-on-kubernetes-1-13
/test pull-kubernetes-csi-node-driver-registrar-alpha-1-14-on-kubernetes-1-14
/test pull-kubernetes-csi-node-driver-registrar-unit

@pohly pohly changed the title WIP: Prow testing Prow testing Apr 12, 2019
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 12, 2019
@msau42
Copy link
Copy Markdown
Collaborator

msau42 commented Apr 12, 2019

/lgtm
/approve

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

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

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

The pull request process is described here

Details 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 lgtm "Looks good to me", indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Apr 12, 2019
@k8s-ci-robot k8s-ci-robot merged commit 80a9442 into kubernetes-csi:master Apr 12, 2019
jsafrane pushed a commit to jsafrane/node-driver-registrar that referenced this pull request Sep 29, 2022
…cy-openshift-4.12-csi-node-driver-registrar

Updating csi-node-driver-registrar images to be consistent with ART
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. 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. 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.

4 participants