-
Notifications
You must be signed in to change notification settings - Fork 211
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
test driver config #143
Merged
k8s-ci-robot
merged 24 commits into
kubernetes-csi:master
from
pohly:test-driver-config
Feb 11, 2020
Merged
test driver config #143
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
53888ae
Improve README by adding an explicit Kubernetes dependency section
msau42 9ace020
Merge pull request #52 from msau42/update-readme
k8s-ci-robot b98b2ae
Enable snapshot tests in 1.17 to be run in non-alpha jobs.
msau42 9f1f3dd
Merge pull request #56 from msau42/enable-snapshots
k8s-ci-robot fc80975
Fix version_gt to work with kubernetes prefix
ggriffiths f6c74b3
Merge pull request #57 from ggriffiths/version_gt_kubernetes_fix
k8s-ci-robot af9549b
Update prow hostpath driver version to 1.3.0-rc2
saad-ali 5f444b8
Merge pull request #60 from saad-ali/updateHostpathVersion
k8s-ci-robot 8b0316c
Fix overriding of junit results by using unique names for each e2e run
msau42 3c463fb
Merge pull request #61 from msau42/enable-snapshots
k8s-ci-robot 8191eab
Update snapshotter to version v2.0.0
ggriffiths 4cc9174
Merge pull request #64 from ggriffiths/snapshotter_2_version_update
k8s-ci-robot 6582f2f
Update hostpath driver version to get fix for connection-timeout
msau42 23be652
Merge pull request #65 from msau42/update-hostpath
k8s-ci-robot ac8a021
Document the process for releasing a new sidecar
msau42 ff3cc3f
Merge pull request #54 from msau42/add-release-process
k8s-ci-robot fa90abd
fix incorrect link
windayski 3c34b4f
Merge pull request #67 from windayski/fix-link
k8s-ci-robot 84f78b1
prow.sh: generic driver installation
pohly 5f74333
prow.sh: also configure feature gates for kubelet
pohly a1432bc
Merge pull request #70 from pohly/kubelet-feature-gates
k8s-ci-robot d717c8c
Merge pull request #69 from pohly/test-driver-config
k8s-ci-robot 66005a9
release-tools: update to d717c8c48ad813703f8f1b0efe8e7d62fa465a6a
pohly 9abf63f
deploy: move test driver definition into driver repo
pohly File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../util/deploy-hostpath.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# This file describes how to test this deployment of the CSI hostpath driver | ||
# using the Kubernetes 1.15 E2E test suite. For details see: | ||
# https://github.com/kubernetes/kubernetes/tree/v1.15.0/test/e2e/storage/external | ||
|
||
StorageClass: | ||
FromName: true | ||
SnapshotClass: | ||
FromName: true | ||
DriverInfo: | ||
Name: hostpath.csi.k8s.io | ||
Capabilities: | ||
block: true | ||
exec: true | ||
dataSource: true | ||
multipods: true | ||
persistence: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../util/deploy-hostpath.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# This file describes how to test this deployment of the CSI hostpath driver | ||
# using the Kubernetes 1.16 E2E test suite. For details see: | ||
# https://github.com/kubernetes/kubernetes/tree/v1.16.0/test/e2e/storage/external | ||
|
||
StorageClass: | ||
FromName: true | ||
SnapshotClass: | ||
FromName: true | ||
DriverInfo: | ||
Name: hostpath.csi.k8s.io | ||
Capabilities: | ||
block: true | ||
controllerExpansion: true | ||
exec: true | ||
multipods: true | ||
nodeExpansion: true | ||
persistence: true | ||
snapshotDataSource: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../util/deploy-hostpath.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# This file describes how to test this deployment of the CSI hostpath driver | ||
# using the Kubernetes 1.17 E2E test suite. For details see: | ||
# https://github.com/kubernetes/kubernetes/tree/v1.17.0/test/e2e/storage/external | ||
|
||
StorageClass: | ||
FromName: true | ||
SnapshotClass: | ||
FromName: true | ||
DriverInfo: | ||
Name: hostpath.csi.k8s.io | ||
Capabilities: | ||
block: true | ||
controllerExpansion: true | ||
exec: true | ||
multipods: true | ||
nodeExpansion: true | ||
persistence: true | ||
singleNodeVolume: true | ||
snapshotDataSource: true | ||
topology: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# Sidecar Release Process | ||
|
||
This page describes the process for releasing a kubernetes-csi sidecar. | ||
|
||
## Prerequisites | ||
|
||
The release manager must: | ||
|
||
* Be a member of the kubernetes-csi organization. Open an | ||
[issue](https://github.com/kubernetes/org/issues/new?assignees=&labels=area%2Fgithub-membership&template=membership.md&title=REQUEST%3A+New+membership+for+%3Cyour-GH-handle%3E) in | ||
kubernetes/org to request membership | ||
* Be a top level approver for the repository. To become a top level approver, | ||
the candidate must demonstrate ownership and deep knowledge of the repository | ||
through active maintainence, responding to and fixing issues, reviewing PRs, | ||
test triage. | ||
* Be part of the maintainers or admin group for the repository. admin is a | ||
superset of maintainers, only maintainers level is required for cutting a | ||
release. Membership can be requested by submitting a PR to kubernetes/org. | ||
[Example](https://github.com/kubernetes/org/pull/1467) | ||
|
||
## Updating CI Jobs | ||
Whenever a new Kubernetes minor version is released, our kubernetes-csi CI jobs | ||
must be updated. | ||
|
||
[Our CI jobs](https://k8s-testgrid.appspot.com/sig-storage-csi-ci) have the | ||
naming convention `<hostpath-deployment-version>-on-<kubernetes-version>`. | ||
|
||
1. Jobs should be actively monitored to find and fix failures in sidecars and | ||
infrastructure changes early in the development cycle. Test failures are sent | ||
to kubernetes-sig-storage-test-failures@googlegroups.com. | ||
1. "-on-master" jobs are the closest reflection to the new Kubernetes version. | ||
1. Fixes to our prow.sh CI script can be tested in the [CSI hostpath | ||
repo](https://github.com/kubernetes-csi/csi-driver-host-path) by modifying | ||
[prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/release-tools/prow.sh) | ||
along with any overrides in | ||
[.prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/.prow.sh) | ||
to mirror the failing environment. Once e2e tests are passing (verify-unit tests | ||
will fail), then the prow.sh changes can be submitted to [csi-release-tools](https://github.com/kubernetes-csi/csi-release-tools). | ||
1. Changes can then be updated in all the sidecar repos and hostpath driver repo | ||
by following the [update | ||
instructions](https://github.com/kubernetes-csi/csi-release-tools/blob/master/README.md#sharing-and-updating). | ||
1. New pull and CI jobs are configured by | ||
[gen-jobs.sh](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-csi/gen-jobs.sh). | ||
New pull jobs that have been unverified should be initially made optional. | ||
[Example](https://github.com/kubernetes/test-infra/pull/15055) | ||
1. Once new pull and CI jobs have been verified, and the new Kubernetes version | ||
is released, we can make the optional jobs required, and also remove the | ||
Kubernetes versions that are no longer supported. | ||
|
||
## Release Process | ||
1. Identify all issues and ongoing PRs that should go into the release, and | ||
drive them to resolution. | ||
1. Download [K8s release notes | ||
generator](https://github.com/kubernetes/release/tree/master/cmd/release-notes) | ||
1. Generate release notes for the release. Replace arguments with the relevant | ||
information. | ||
``` | ||
GITHUB_TOKEN=<token> ./release-notes --start-sha=0ed6978fd199e3ca10326b82b4b8b8e916211c9b --end-sha=3cb3d2f18ed8cb40371c6d8886edcabd1f27e7b9 \ | ||
--github-org=kubernetes-csi --github-repo=external-attacher -branch=master -output out.md | ||
``` | ||
* `--start-sha` should point to the last release from the same branch. For | ||
example: | ||
* `1.X-1.0` tag when releasing `1.X.0` | ||
* `1.X.Y-1` tag when releasing `1.X.Y` | ||
1. Compare the generated output to the new commits for the release to check if | ||
any notable change missed a release note. | ||
1. Reword release notes as needed. Make sure to check notes for breaking | ||
changes and deprecations. | ||
1. If release is a new major/minor version, create a new `CHANGELOG-<major>.<minor>.md` | ||
file. Otherwise, add the release notes to the top of the existing CHANGELOG | ||
file for that minor version. | ||
1. Submit a PR for the CHANGELOG changes. | ||
1. Submit a PR for README changes, in particular, Compatibility, Feature status, | ||
and any other sections that may need updating. | ||
1. Check that all [canary CI | ||
jobs](https://k8s-testgrid.appspot.com/sig-storage-csi-ci) are passing, | ||
and that test coverage is adequate for the changes that are going into the release. | ||
1. Make sure that no new PRs have merged in the meantime, and no PRs are in | ||
flight and soon to be merged. | ||
1. Create a new release following a previous release as a template. Be sure to select the correct | ||
branch. This requires Github release permissions as required by the prerequisites. | ||
[external-provisioner example](https://github.com/kubernetes-csi/external-provisioner/releases/new) | ||
1. If release was a new major/minor version, create a new `release-<minor>` | ||
branch at that commit. | ||
1. Update [kubernetes-csi/docs](https://github.com/kubernetes-csi/docs) sidecar | ||
and feature pages with the new released version. | ||
1. After all the sidecars have been released, update | ||
CSI hostpath driver with the new sidecars in the [CSI repo](https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy) | ||
and [k/k | ||
in-tree](https://github.com/kubernetes/kubernetes/tree/master/test/e2e/testing-manifests/storage-csi/hostpath/hostpath) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gnufied were resizing tests added in 1.16 or 1.17?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to
git diff v1.15.0..v1.16.0 test/e2e/storage/testsuites/testdriver.go
,controllerExpansion
was added in 1.16:There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we enable the tests in 1.16 too then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's missing for them in 1.16?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see the capabilities enabled in the 1.16 config
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, right. I thought that the change above was for 1.16, but it's 1.17. Let me add it for 1.16 then, too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Revised test-driver.yaml files: