Commit Graph

697 Commits (8ef336c05a54ebeb7ff9f9af8e64543aaaedb8d5)

Author SHA1 Message Date
Masaki Kimura bae2e8a5e3 Fix timeout for testPodFailSubpathError longer to avoid flake 2018-11-28 00:04:52 +00:00
Michelle Au 6032a1e2df Remove legacy gci flex directory from e2e tests 2018-11-27 15:10:37 -08:00
k8s-ci-robot fad23990ce
Merge pull request #71429 from gnufied/fix-detach-while-mount-flake
Fix flake with e2e test that checks detach while mount in progress
2018-11-26 16:57:21 -08:00
k8s-ci-robot ce68cfa453
Merge pull request #71428 from mkimuram/issue/71383
Fix subpath test flake that is caused in testPodFailSubpathError
2018-11-26 15:43:33 -08:00
k8s-ci-robot 855f3fae5e
Merge pull request #71235 from msau42/fix-hostpath-io
Fix io test to use unique file names and cleanup all files
2018-11-26 13:34:10 -08:00
Hemant Kumar df88257ad8 Fix flake with e2e test that checks detach while mount in progress
A volume can show up as in-use even before it gets attached
to the node.
2018-11-26 15:28:05 -05:00
Masaki Kimura 790de995f3 Fix testPodFailSubpathError to make only WaitTimeoutForPodEvent wait 2018-11-26 17:29:25 +00:00
Jan Safranek 51fc7930d6 CSI: enhance driver tests to update the drivers.
We want to check that kubelet correctly handles driver update
on a node.
2018-11-26 12:45:01 +01:00
k8s-ci-robot 205eaee0e5
Merge pull request #71145 from gnufied/test-mounted-detach
Fix volume detach while mount in progress
2018-11-22 23:27:48 -08:00
saad-ali aa8244beb5 Modify CSI to handle both 0.3 and 1.0
Modify the CSI volume plugin to handle CSI version 0.x as well as 1.x
2018-11-21 18:37:31 -08:00
Hemant Kumar d2b6e30143 Fix bug with volume getting marked as not in-use with pending op
Add test for verifying volume detach
2018-11-20 11:58:47 -05:00
Michelle Au 11627ae134 Fix io test to use unique file names and cleanup all files 2018-11-19 15:09:27 -08:00
k8s-ci-robot ec2e767e59
Merge pull request #71167 from msau42/block-beta
Promote raw block volume support to beta
2018-11-16 20:28:03 -08:00
Cheng Xing b275ebb5a8 Revert "Make csi alpha failing test skip"
This reverts commit f98b87cac1.
2018-11-16 13:00:58 -08:00
Matthew Wong bee759b925 Add volume mode downgrade test: should not mount/map in <1.13 2018-11-16 13:38:59 -05:00
Matthew Wong 0c671b1211 Remove [Feature:BlockVolume] everywhere 2018-11-16 13:38:59 -05:00
k8s-ci-robot 6fc60428a7
Merge pull request #71020 from saad-ali/updateCSI10
Bump CSI Spec to 1.0.0 and gRPC to 1.13.0
2018-11-16 01:53:21 -08:00
saad-ali 503f654d7a Update CSI tests to point to 1.0.0 external bits. 2018-11-15 20:01:50 -08:00
k8s-ci-robot 90245bec24
Merge pull request #70987 from pohly/storage-volume-testsuites-names
e2e/storage: distinct test names for provisioning
2018-11-15 15:00:21 -08:00
Jan Safranek 6fee3688a0 Rename tag for CSI skip attach tests
So it has the same name as alpha feature
2018-11-15 15:42:00 +01:00
k8s-ci-robot 5b76030760
Merge pull request #71039 from mkimuram/issue/70760hostpath
Fix CreateSecPodWithNodeName to properly set node to be deployed
2018-11-14 23:19:57 -08:00
Patrick Ohly 7efad66ae8 e2e/storage: distinct test names for provisioning
A test name should not be the subset of another, because then it is
impossible to focus on it.

In this case, -ginkgo.focus=should.provision.storage ran both "should
provision storage" and "should provision storage with mount options"
without the ability to select just the former.
2018-11-14 19:37:58 +01:00
Masaki Kimura 6a94656d0e Fix CreateSecPodWithNodeName to properly set node to be deployed 2018-11-14 16:10:14 +00:00
k8s-ci-robot cbcd6bf444
Merge pull request #70989 from pohly/storage-volume-testsuites-fmt
e2e/storage: avoid fmt.Sprintf for single string
2018-11-14 08:08:03 -08:00
Michelle Au 63068be7ef Remove serial from gcepd-external tests 2018-11-13 16:42:57 -08:00
Patrick Ohly 89193ac0fd e2e/storage: avoid fmt.Sprintf for single string
The fmt.Sprintf call is either redundant (if the format string
contains no format characters) or broken (if it does, because there
are no parameters).
2018-11-13 10:43:19 +01:00
k8s-ci-robot 0ca67bde54
Merge pull request #70362 from ddebroy/ddebroy-multi-pvc
Add multi PVC versions of e2e tests for WaitForFirstConsumer
2018-11-12 03:14:39 -08:00
Davanum Srinivas 954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot 344b42f0a4
Merge pull request #70891 from mkimuram/issue/70760
Make csi alpha failing test skip
2018-11-10 00:14:31 -08:00
k8s-ci-robot 0320fd4d9f
Merge pull request #70869 from aniket-s-kulkarni/flexvolume-resize-implementation
fix for test failure #70774
2018-11-09 16:23:04 -08:00
Masaki Kimura f98b87cac1 Make csi alpha failing test skip
Fixes: #70760
2018-11-09 20:42:55 +00:00
Deep Debroy 923df464fb Add multi PVC versions of tests for delayed binding
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-11-09 12:17:31 -08:00
Aniket Kulkarni 62770789d3 fix for test failure #70774 2018-11-09 12:15:16 -05:00
k8s-ci-robot f212b9db23
Merge pull request #70598 from dims/switch-from-sigs.k8s.io/yaml-to-ghodss/yaml
Switch to sigs.k8s.io/yaml from ghodss/yaml
2018-11-08 10:57:36 -08:00
k8s-ci-robot 3c10143967
Merge pull request #60195 from humblec/glusterfs-pvspec-3
Refactor GlusterFS PV spec.
2018-11-08 00:24:39 -08:00
Masaki Kimura d33211dc44 Fix test driver's unique name consistent
Fixes: #70760
2018-11-07 22:24:48 +00:00
k8s-ci-robot 6f305d925f
Merge pull request #68025 from mkimuram/issue/68024
Make csi drivers and in-tree drivers share e2e tests
2018-11-07 12:52:47 -08:00
k8s-ci-robot ebcc2c7d26
Merge pull request #70667 from aniket-s-kulkarni/flexvolume-resize-implementation
adding test case for flex volume resize on pod restart
2018-11-07 11:36:32 -08:00
Davanum Srinivas 43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
Masaki Kimura b89b367247 Make csi drivers and in-tree drivers share e2e tests 2018-11-07 15:42:58 +00:00
k8s-ci-robot 7fe59165b6
Merge pull request #70193 from saad-ali/csiCRDAddon
Register CSI CRDs as addon
2018-11-06 23:55:56 -08:00
k8s-ci-robot e05659cf8e
Merge pull request #70710 from msau42/remove-subpath-ro-test
Remove subpath ro test
2018-11-06 20:21:44 -08:00
saad-ali a679486a5e Register CSI CRDs as addon 2018-11-06 10:58:09 -08:00
Michelle Au 75459fc3de remove subpath readonly test for new directories 2018-11-06 10:39:36 -08:00
Humble Chirammal bdb051c72d Refactor GlusterFS PV spec.
This patch introduces glusterfsPersistentVolumeSource addition
to glusterfsVolumeSource. All fields remains same as glusterfsVolumeSource
with an addition of a new field
called `EndpointsNamespace` to define namespace of endpoint in the
spec.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2018-11-06 15:51:01 +05:30
Aniket Kulkarni 624f2f5136 adding test case for flex volume resize on pod restart 2018-11-05 18:15:05 -05:00
k8s-ci-robot 5fdad5c19f
Merge pull request #68771 from liyongxin/master
typo fix from utilites to utilities
2018-11-03 16:50:28 -07:00
Michelle Au 45ee18a1f1 Update pd csi e2e yamls with latest driver 2018-11-02 13:35:39 -07:00
k8s-ci-robot 6813ebb568
Merge pull request #67851 from aniket-s-kulkarni/flexvolume-resize-implementation
Flexvolume resize implementation
2018-11-02 10:47:01 -07:00
xichengliudui 8477389e7c Fix some types
Fix some typos
2018-10-31 04:05:25 -04:00
Patrick Ohly 1449353067 e2e: live streaming of pod events and stdout for CSI volume tests
Debugging the CSI driver tests depends a lot on the output of the CSI
sidecar containers and the CSI driver, but that information was not
captured automatically and thus unavailable after a test run. This is
particularly bad when running in a remote CI system, but also manually
watching the cluster during a test was cumbersome.

Now pod events and log messages get copied to the test's output at the
time that they happen (when running without report directory) or get
written to individual log files (when running with report directory in
the CI).
2018-10-30 09:18:48 +01:00
Patrick Ohly 248df4ac58 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-27 00:39:44 +02:00
Patrick Ohly a56c518292 e2e CSI: bump all containers to v0.4.1 2018-10-27 00:39:44 +02:00
Patrick Ohly 38efff564c e2e: deploy from manifest files + enhance CSI volume output
Ensuring that CSI drivers get deployed for testing exactly as intended
was problematic because the original .yaml files had to be converted
into code. e2e/manifest helped a bit, but not enough:
- could not load all entities
- didn't handle loading .yaml files with multiple entities
- actually creating and deleting entities still had to be done in tests

The new framework utility code handles all of that, including the
tricky cleanup operation that tests got wrong (AfterEach does not get
called after test failures!).

In addition, it is ensuring that each test gets its own instance of the
entities.

The PSP role binding for hostpath is now necessary because we switch
from creating a pod directly to creation via the StatefulSet
controller, which runs with less privileges.

Without this, the hostpath test runs into these errors in the
kubernetes-e2e-gce job:

Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-attacher: {statefulset-controller } FailedCreate: create Pod csi-hostpath-attacher-0 in StatefulSet csi-hostpath-attacher failed error: pods "csi-hostpath-attacher-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-provisioner: {statefulset-controller } FailedCreate: create Pod csi-hostpath-provisioner-0 in StatefulSet csi-hostpath-provisioner failed error: pods "csi-hostpath-provisioner-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpathplugin: {daemonset-controller } FailedCreate: Error creating: pods "csi-hostpathplugin-" is forbidden: unable to validate against any pod security policy: []

The extra role binding is silently ignored on clusters which don't
have this particular role.
2018-10-26 22:07:34 +02:00
k8s-ci-robot 022c05c141
Merge pull request #70254 from msau42/add-out-of-tree-pd-tests
Add new driver config for testing PD CSI driver out of tree
2018-10-25 23:24:22 -07:00
Michelle Au 9acb8bca6d Add new driver config for testing PD CSI driver out of tree 2018-10-25 16:42:51 -07:00
Aniket Kulkarni 82f83a8f82 Updating build files after review comments 2018-10-25 14:49:01 -04:00
Antonio Murdaca fc80120a0f test/e2e/storage: use relatime for checking NFS options
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2018-10-25 20:44:33 +02:00
Antonio Murdaca ebdc25a80e test/e2e/storage: provide useful output if test fail
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2018-10-25 20:44:28 +02:00
Aniket Kulkarni 45aec048db Incorporating review comments 2018-10-25 14:29:01 -04:00
k8s-ci-robot 0df5462db6
Merge pull request #69700 from verult/repd-e2e-regionalcluster
Updated Regional PD failover test to use node taints instead of instance group deletion
2018-10-24 19:26:51 -07:00
Cheng Xing 8ee882a98a Updated Regional PD failover test to use node taints instead of instance group deletion 2018-10-24 13:22:39 -07:00
Aniket Kulkarni bfc0d45303 e2e tests for flex volume expand
mysterious build error
2018-10-24 15:31:24 -04:00
Aniket Kulkarni 75350d11e9 adding support for expanding in use persistent volumes for Flex 2018-10-24 15:31:16 -04:00
Masaki Kimura 6afcaccf7d Move the provisioning test for retain policy back to volume_provisioning.go
Provisioning test for retain policy requires each driver's backend volume
deletion logic. Without it, volume leakage happens. Move this test back
to volume_provisioning.go and test it only for gce, until general
backend volume deletion code for each driver becomes available.

Fixes: #70191
2018-10-24 19:21:28 +00:00
Masaki Kimura 4fcb36e205 Move minimum set of dynamic provisioning e2e test to testsuites 2018-10-22 16:04:43 +00:00
k8s-ci-robot 8b36038b41
Merge pull request #68483 from pohly/e2e-refactor-pr
e2e refactor
2018-10-19 12:32:01 -07:00
Jing Xu 9de354034b Make sure kubelet is restarted in the storage test
In some storage tests, kubelet is stopped first and the test check node
NotReady state. However, if it fails to have this state, kubelet could
not be restarted because the defer function is placed after the stop
kubelet command. This PR fixes this issue.
2018-10-17 14:19:04 -07:00
k8s-ci-robot d54e0fc0bc
Merge pull request #69670 from atlassian/simplify-rand-seed
Simplify rand seeding
2018-10-15 13:53:01 -07:00
k8s-ci-robot 9c5cf3ccf7
Merge pull request #69549 from tallclair/podevent-test
Fix WaitTimeoutForPodEvent logic
2018-10-12 19:13:52 -07:00
Tim Allclair 5214be3f16 Fix WaitTimeoutForPodEvent logic 2018-10-12 11:59:45 -07:00
k8s-ci-robot 632df63061
Merge pull request #68822 from pohly/csi-pod-creation
CSI E2E: retry csi-pod creation
2018-10-11 12:32:28 -07:00
Mikhail Mazurskiy f5e9c0473c
Remove unnecessary random re-seeding
Package k8s.io/apimachinery/pkg/util/rand seeds the random based on time
during the package initialization, so no need to re-seed it.
2018-10-11 22:02:01 +11:00
Mikhail Mazurskiy 3a243090a5
Simplify random seed initialization
There is no need to set the time zone as the result does not
depend on it
2018-10-11 21:01:15 +11:00
Patrick Ohly 97101a6a86 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-11 11:36:25 +02:00
Patrick Ohly 8b17db7e0c e2e: modular framework
Not all users of the E2E framework want to run cloud-provider specific
tests. By splitting out the code it becomes possible to decide in
a E2E test suite which providers are supported.

This is achieved in two ways:
- the framework calls certain functions through a provider
  interface instead of calling specific cloud provider functions
  directly
- tests that are cloud-provider specific directly import the
  new provider packages

The ingress test utilities are only needed by a few tests. Splitting
them out into a separate package makes the framework simpler for test
suites not using those tests.

Fixes: #66649
2018-10-11 11:16:11 +02:00
Kenichi Omichi 2e6a8deece Add debugging info in pv/pvc protection e2e tests
When facing an issue which is due to lack of PV/PVC Protection
finalizer on the e2e tests, the error message is just like

  Expected
      <bool>: false
  to be true

Actually we cannot understand what happened during the tests.
This adds more debugging info on the tests.
2018-10-09 21:15:45 +00:00
Patrick Ohly 8cde9c08f0 e2e/storage: decentralized settings
Tests shouldn't have to use the central context for their settings,
because conceptually tests and framework get developed independently.

This does not yet use the new framework/config utility code because
that code still needs to be reviewed.

Besides moving the flags, they also get renamed from the top-level
"--csiImage{Version|Registry}" to
"--storage.csi.image.{version|registry}". These flags were introduced
fairly recently and shouldn't be in use much, so now is a good time to
introduce a hierarchical naming for storage flags, in particular
because more flags will be added soon.
2018-10-05 14:24:35 +02:00
k8s-ci-robot 166490a473
Merge pull request #69103 from pohly/testfiles
E2E: handling extra files
2018-10-04 13:39:49 -07:00
k8s-ci-robot 16256296d2
Merge pull request #69353 from davidz627/fix/provisionerName
Update provisioner name and don't supply zone in GCE PD CSI test
2018-10-03 15:21:59 -07:00
k8s-ci-robot c635e19e59
Merge pull request #69349 from davidz627/fix/gcePDCSITest
Add PodSecurityPolicy Binding back to GCE PD CSI Test and make non-serial
2018-10-03 10:38:16 -07:00
k8s-ci-robot 2d67d782de
Merge pull request #69225 from gnufied/volume-limit-tidy-up
Enable volume limit feature by default
2018-10-02 17:03:32 -07:00
David Zhu fa41fa9acd Update provisioner name and don't supply zone in GCE PD CSI test 2018-10-02 16:52:14 -07:00
David Zhu fd18fc548d Remove redundant [Serial] tags and dont delete CRD's at the end of test 2018-10-02 16:01:38 -07:00
David Zhu e7af381538 Add Pod Security Policy back in to GCE PD Cluster Role 2018-10-02 14:42:14 -07:00
Hemant Kumar e38cfb61be Add a e2e test to check node limits 2018-10-02 13:59:05 -04:00
k8s-ci-robot a27adf1612
Merge pull request #69300 from mrunalp/subpath_test_wait_for_event
test: Wait for pod event to show up
2018-10-02 01:12:00 -07:00
Patrick Ohly 20c9549c10 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-02 08:31:03 +02:00
Patrick Ohly 212af1ac29 e2e: abstract access to additional files
The new test/e2e/framework/testfiles package makes it possible to
write tests that do not depend on a specific way of providing
additional test files at runtime. Such tests and the framework are
then more easily reused in other test suites.

In the test/e2e suite file access is enabled based on the existing
"repo-root" command line parameter and the built-in bindata. Tests
using the new API will first check for files under "repo-root" and
then fall back to the builtin data. This way, users of a test binary
can modify those files without having to rebuild the binary.

"repo-root" is still needed because at least some tests check for
additional files (secret.yaml, via ingress_utils.go) that are not part
of the upstream source code and thus may or may not be built into a
test binary.

Tests using bindata or repo-root directly get modified to use the new
API, or removed when they are obsolete: test/e2e/examples.go depended
on files that were removed in
https://github.com/kubernetes/kubernetes/pull/61246 and thus can no
longer be run in Kubernetes. Moving the tests to kubernetes/examples
is tracked in https://github.com/kubernetes/examples/issues/214.

The file removal did not break the automated E2E testing probably
because the tests are under the Feature:Example tag and thus not
enabled during normal CI runs.

Removing also the obsolete tests makes it simpler to rework the
"repo-root" setting because less code uses it.

Related-to: #66649 and #23987
2018-10-02 08:31:03 +02:00
Mrunal Patel c771de1e6b test: Wait for pod event to show up
We are seeing flakes where pod event isn't yet visible when
we check for it leading to test failure.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2018-10-01 12:28:40 -07:00
Patrick Ohly 39d28d1af4 E2E CSI: bump versions of sidecar containers to 0.4.0
The 0.4.0 versions are what is getting released together with and for
Kubernetes 1.12.
2018-10-01 17:38:39 +02:00
k8s-ci-robot 860d3cb32c
Merge pull request #68887 from jsafrane/csi-roles
Add controller roles to CSI e2e tests
2018-10-01 08:18:36 -07:00
k8s-ci-robot 577e06e0b8
Merge pull request #69222 from SataQiu/fix-2018092805
fix typo
2018-10-01 04:40:34 -07:00
Jan Safranek 60f736ed3d Add controller roles to CSI e2e tests
External attacher + provisioner need extra role for leader election.
2018-10-01 10:31:31 +02:00
SataQiu 94a653f100 fix typo 2018-09-28 23:41:24 +08:00
Fabio Bertinatto 8894021b99 Fix flake in CSI plugin e2e test 2018-09-28 14:00:39 +02:00
k8s-ci-robot 3fe21e5433
Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00
k8s-ci-robot 25b3ec6c62
Merge pull request #68908 from msau42/add-slow
Move storage tests that take longer than 2 minutes to slow suite
2018-09-26 22:59:23 -07:00
k8s-ci-robot 1e4edac012
Merge pull request #68886 from mgdevstack/master-emptydir-wrapper
Promote emptyDir wrapper volumes tests to Conformance
2018-09-26 20:37:47 -07:00
David Zhu f33f850ff1 Update GCE PD CSI Driver to run by default and automatically set up secrets with GCP Service Account Key 2018-09-26 10:10:48 -07:00
k8s-ci-robot 4278b75668
Merge pull request #68805 from davidz627/fix/storagePSP
Add privileged test pod security policy to local volume provisioner test service account
2018-09-26 04:57:27 -07:00
Benjamin Elder 8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder 088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
Mayank Gaikwad b9942796db Promote emptyDir wrapper volume tests to conformance 2018-09-24 15:39:20 +05:30
Anusha Ragunathan b13d35caf7 Fix Panic in PersistentVolumes:vsphere
Bootstrap initializes the necessary vSphere objects before the tests are
run. A call to Bootstrap was missing in persistent_volumes-vsphere.go's
BeforeEach. This results in Panic while running e2e tests for 'vsphere'
provider with a stack trace like this:

  	/usr/local/go/src/runtime/panic.go:502 +0x229
  github.com/docker/kube-e2e-image/vendor/k8s.io/kubernetes/test/e2e/storage/vsphere.glob..func1.1()
  	/go/src/github.com/docker/kube-e2e-image/vendor/k8s.io/kubernetes/test/e2e/storage/vsphere/persistent_volumes-vsphere.go:77
+0xa21
  github.com/docker/kube-e2e-image/vendor/github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync(0xc4217c9b60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
  	/go/src/github.com/docker/kube-e2e-image/e2e_test.go:88 +0x2c8
  testing.tRunner(0xc4206e01e0, 0x4212900)
  	/usr/local/go/src/testing/testing.go:777 +0xd0
  created by testing.(*T).Run
  	/usr/local/go/src/testing/testing.go:824 +0x2e0

This change fixes the Panic by calling Bootstrap.

Testing:
After this change, tests with FOCUS set to "PersistentVolumes:vsphere"
 dont Panic. They pass as expected.

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2018-09-21 13:46:58 -07:00
Patrick Ohly 6dbb07c4b6 CSI E2E: retry csi-pod creation
Normally the pod would get created via a DaemonSet controller, but
during testing it is easier to create it directly. We just need to
ignore errors (like 'No API token found for service account
"csi-service-account"') and retry for a while. If the error persists,
the error will still abort and report it eventually.

This problem also occurs elsewhere, so an utility function in the
framework for it seems justified.

Fixes: #68776
2018-09-21 11:45:52 +02:00
Michelle Au b1594f3cd1 Move storage tests that take longer than 2 minutes to slow suite 2018-09-20 15:29:00 -07:00
k8s-ci-robot 9228bec334
Merge pull request #68579 from verult/adc-crd-access
Updating CSI e2e test to create CSI CRDs
2018-09-19 02:00:30 -07:00
David Zhu 0698354f61 Add privileged test pod security policy to local volume provisioner test service account 2018-09-18 14:25:31 -07:00
Cheng Xing 4ff1e32974 Updating CSI e2e test to create CSI CRDs; storing CRD spec in a common location 2018-09-18 14:25:00 -07:00
Yongxin Li 6a98ce78e4 typo fix from utilites to utilities
Signed-off-by: Yongxin Li <yxli@alauda.io>
2018-09-18 13:52:04 +08:00
David Zhu 9d207b3e3c GetMountRefs should not fail if the path supplied does not exist anymore. It has no mount references 2018-09-17 17:35:12 -07:00
David Zhu 44be42c196 Include PV wait confirmation for Disruptive PV tests 2018-09-17 16:37:23 -07:00
David Zhu bd308d938a Fixed leaking dynamic provioning test PDs 2018-09-14 15:14:17 -07:00
k8s-ci-robot ae935d7293
Merge pull request #68569 from davidz627/fix/driverTestResources
Fix storage test framework leaking resources on cleanup
2018-09-12 21:44:42 -07:00
David Zhu 5155e1b5d9 Test Resource fix for all non-GCE In-tree drivers 2018-09-12 13:59:53 -07:00
David Zhu 725d5ebda4 Fix test framework to pass generic driver specific test specific resources. Fix GCE PD resource leak 2018-09-12 11:29:35 -07:00
k8s-ci-robot c0953ed2d1
Merge pull request #68487 from msau42/fix-regional-size
Fix size of repd e2e to use Gi
2018-09-10 19:17:47 -07:00
Michelle Au 13e3da39ba Fix size of repd e2e to use Gi 2018-09-10 13:29:52 -07:00
David Zhu 24f67fd845 Ignore not found endpoint on deletion 2018-09-10 11:34:41 -07:00
Kubernetes Submit Queue f26556cc14
Merge pull request #67684 from verult/top-csi-driver-registration
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI Node info registration in kubelet

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #67683

**Special notes for your reviewer**:
Feature issue: https://github.com/kubernetes/features/issues/557
Design doc: https://github.com/kubernetes/community/pull/2034

Missing pieces:
* CSI client retry and exponential backoff logic.
* CSINodeInfo object validation
* e2e test with all the CSI machinery.

An RBAC rule is also added to support external-provisioner topology updates.

**Release note**:

```release-note
Registers volume topology information reported by a node-level Container Storage Interface (CSI) driver. This enables Kubernetes support of CSI topology mechanisms.
```
2018-09-08 00:16:52 -07:00
Cheng Xing 94d649b590 Rearranged feature flags 2018-09-07 17:45:27 -07:00
David Zhu face1ead9c Fixed error message reporting for Gluster driver tests 2018-09-06 17:27:28 -07:00
Kubernetes Submit Queue 8e329f1c3c
Merge pull request #68312 from msau42/fix-e2e
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix gce localssd pv tests

**What this PR does / why we need it**:
When running local PV tests against GCE local SSD, it directly uses the disk so doesn't need to create a tmp dir like the other test formats.  Fsgroup tests do not create test-file so don't error on cleanup if the file doesn't exist.


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #68308

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-09-06 00:02:02 -07:00
Michelle Au 07ebe323fa Fix gce localssd pv tests 2018-09-05 18:25:47 -07:00
Kubernetes Submit Queue 19c2538798
Merge pull request #67955 from jsafrane/csi-skip-attach-saad
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI: skip attach for non-attachable drivers

**What this PR does / why we need it**:
This is implementation of https://github.com/kubernetes/community/pull/2523. CSI volumes that don't need attach/detach now don't need external attacher running.

WIP:
 * contains #67803 to get CSIDriver API. Ignore the first commit.
 * ~~missing e2e test~~

/sig storage

cc: @saad-ali @vladimirvivien @verult @msau42 @gnufied @davidz627 

**Release note**:
```release-note
CSI volume plugin does not need external attacher for non-attachable CSI volumes.
```
2018-09-05 14:51:51 -07:00
Kubernetes Submit Queue 7052a51082
Merge pull request #68023 from wongma7/emptydir-wrapper
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Replace git volume with configmap in emptydir wrapper conflict test

**What this PR does / why we need it**: GitRepoVolumeSource is deprecated, use a ConfigMap instead. (This test is part of the conformance suite, so it would be good to allow downstreams to disable/not support gitRepo)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-09-05 14:51:44 -07:00
Kubernetes Submit Queue 70a0089ae6
Merge pull request #68200 from RenaudWasTaken/pluginwatcher-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

KubeletPluginsWatcher feature is beta in 1.12 release

*What this PR does / why we need it:*
Graduates DevicePlugins feature to beta.

*Which issue(s) this PR fixes:*
Related but does not fix: https://github.com/kubernetes/features/issues/595 as well as https://github.com/kubernetes/kubernetes/issues/65773

*Special notes for your reviewer:*
Includes upgrading the gRPC pluginwatcher API to beta. Based on the [device plugin model](https://github.com/kubernetes/kubernetes/pull/59588).

*Depends on https://github.com/kubernetes/kubernetes/pull/64621 being merged* 

Release note:

```release-note
KubeletPluginsWatcher feature graduates to beta.
```

/sig node
/sig storage

/cc @vladimirvivien @sbezverk @vikaschoudhary16 @saad-ali @vishh @jiayingz
2018-09-05 13:18:39 -07:00
Jan Safranek f1cef9bde4 Add e2e test for skipping attach 2018-09-05 10:35:54 -04:00
Cheng Xing add6e0d7bb CSI e2e test: driver registrar updates for moving PluginWatcher to beta 2018-09-05 14:58:04 +02:00
tanshanshan 33046e3aa5 nits in e2e test 2018-09-05 15:55:41 +08:00
Michelle Au 8091c7975b Integration and e2e tests 2018-09-04 16:30:14 -07:00
Kubernetes Submit Queue be11540775
Merge pull request #68138 from wongma7/nfs-e2e-containerd
Automatic merge from submit-queue (batch tested with PRs 67736, 68123, 68138). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Update external provisioner test to use latest nfs-provisioner

**What this PR does / why we need it**: latest nfs-provisioner will work with cri-containerd, so let's update it

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**: I want to move this test to use nfs-client-provisioner soon anyway since a lot of our e2e tests already use a containerized nfs server and it would be good to be consistent. So this can be treated as something of a stopgap but it would be nice to have ASAP to unblock https://github.com/kubernetes-incubator/external-storage/issues/432#issuecomment-417511065

**Release note**:

```release-note
NONE
```
2018-09-04 12:51:38 -07:00
NickrenREN 5bc823f141 fix and update local volume e2es 2018-09-03 13:35:23 +08:00
Matthew Wong 5d877436bf Update external provisioner test to use latest nfs-provisioner 2018-08-31 16:26:02 -04:00
Kubernetes Submit Queue 07f68ea842
Merge pull request #68099 from mkimuram/issue/68093
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix hostpath subpath reconstruction tests are failing

**What this PR does / why we need it**:
Fix hostpath subpath reconstruction tests are failing

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes: #68093

**Special notes for your reviewer**:
/sig storage

**Release note**:
```release-note
NONE
```
2018-08-30 18:34:42 -07:00
Kubernetes Submit Queue 88a0987f93
Merge pull request #68088 from msau42/fix-multizone
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix multizone gce pd subpath test

**What this PR does / why we need it**:
The format pod for readonly tests also needs to fill in the NodeSelector for inline gce pd volumes.

Also rename "gce" driver to "gcepd"

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #68085

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-30 16:48:15 -07:00
Masaki Kimura 79230ee56e Fix hostpath subpath reconstruction tests are failing
Fixes: #68093
2018-08-30 22:53:59 +00:00
Michelle Au 233db366cc Fix multizone gce pd subpath test 2018-08-30 13:53:04 -07:00
Kubernetes Submit Queue 90fed8e27d
Merge pull request #68074 from mkimuram/issue/68073
Automatic merge from submit-queue (batch tested with PRs 67368, 59930, 68074). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix subpath tests not to fail in namespace deletion

**What this PR does / why we need it**:
This PR fixes below subpath test not to fail in namespace deletion

 - subPath should support restarting containers using directory as subpath
 - subPath should support restarting containers using file as subpath

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes: #68073

**Special notes for your reviewer**:
/sig storage
/sig testing

**Release note**:
```release-note
NONE
```
2018-08-30 12:40:35 -07:00
Kubernetes Submit Queue 39ea20a5bf
Merge pull request #68034 from msau42/remove-feature-tag
Automatic merge from submit-queue (batch tested with PRs 67764, 68034, 67836). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Remove feature tag from dynamic provisioning topology tests

**What this PR does / why we need it**:
Now that the feature has been moved to beta, remove feature tag to let it run in the standard CI suite.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-30 09:59:30 -07:00
Masaki Kimura 69b9cf5ccc Fix subpath tests not to fail in namespace deletion
This commit fixes below subpath test not to fail in namespace deletion

 - subPath should support restarting containers using directory as subpath
 - subPath should support restarting containers using file as subpath

Fixes: #68073
2018-08-30 15:11:27 +00:00
Kubernetes Submit Queue 9ca7ffdf59
Merge pull request #66577 from mkimuram/issue/66571
Automatic merge from submit-queue (batch tested with PRs 66577, 67948, 68001, 67982). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Refactor volume test in a similar way to csi tests

Refactoring for non-csi e2e test similar to below commit in csi e2e test.
4d11dab272 (diff-0d9ecaa3e6a0297186ad33f57aad472e)

Scopes for this refactoring are below three files:
  - test/e2e/storage/volumes.go
  - test/e2e/storage/volume_io.go
  - test/e2e/storage/persistent_volumes-volumemode.go



**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #66571

**Special notes for your reviewer**:
/sig storage
@davidz627 @msau42 @jsafrane  

**Release note**:

```release-note
NONE
```
2018-08-29 16:33:31 -07:00
Michelle Au a1154682da Remove feature tag from dynamic provisioning topology tests 2018-08-29 13:43:53 -07:00
Matthew Wong e497ea90a8 Replace git volume with configmap in emptydir wrapper conflict test 2018-08-29 14:12:14 -04:00
Masaki Kimura 877ed5c22d Refactor volume test in a similar way to csi tests
Refactoring for non-csi e2e test similar to below commit in csi e2e test.
4d11dab272 (diff-0d9ecaa3e6a0297186ad33f57aad472e)

Scopes for this refactoring are below four files:
  - test/e2e/storage/volumes.go
  - test/e2e/storage/volume_io.go
  - test/e2e/storage/persistent_volumes-volumemode.go
  - test/e2e/storage/subpath.go

fixes: #66571
2018-08-29 14:39:01 +00:00
Deep Debroy 10f652abec E2E tests for allowedTopologies and waitForConsumer for GCE PD and RePD
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-08-28 12:35:43 -07:00
Kubernetes Submit Queue 2a2bca5f66
Merge pull request #67281 from tpepper/trivial
Automatic merge from submit-queue (batch tested with PRs 67332, 66737, 67281, 67173). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

storage e2e test: remove race when setting up loopback device

CI has shown occasional failures stemming from an -EBUSY when
test/e2e/storage/persistent_volumes-local.go aka "PersistentVolumes-local"
attempts to do losetup.

Looking at the code, it has a clear race between querying the current
free loopback device and later explicitly attempting to loopback setup a
file at the queried device node.  Losetup nowadays includes the logic to
handle this for the user, if the '-f' option is used instead of naming
the desired target loopback device explicitly.  It is safe to presume
a suitable losetup is present as the '-f' option is used elsewhere in
the test, and it is safe to not record the allocated device, as it is
already queried on the fly elsewhere in the test ahead of other commands
which need to know an already created loopback device's node name.

This patch should result in less flakes for this test case.

Signed-off-by: Tim Pepper <tpepper@vmware.com>

**Release note**:
```release-note
NONE
```
2018-08-21 05:25:10 -07:00
Kubernetes Submit Queue abdfd7cebf
Merge pull request #67318 from tanshanshan/e2e813-1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Error in return value should be tested and fix Description Info in e2e test

**What this PR does / why we need it**:

1. Error in return value should be tested
2. fix Description Info

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-21 03:12:53 -07:00
tanshanshan e13fadcb6a Error in return value should be tested and fix Description Info 2018-08-18 10:11:08 +08:00
Ken'ichi Ohmichi 2fa840e330 Wait for Available in PV protection test
Just after creating a PV, its phase is "Pending" and its finalizers
doesn't contain "kubernetes.io/pv-protection". If the e2e test performs
so faster than the target k8s cluster, the test fails because the PV is
not ready. This adds WaitForPersistentVolumePhase() for waiting the
phase "Available" to avoid such situation.
2018-08-16 23:27:38 +00:00
Fabio Bertinatto 4ce2058ef6 Add more metrics for A/D Controller:
* Number of Volumes in ActualStateofWorld and DesiredStateofWorld
* Numer of times A/D Controller performs force detach
2018-08-15 10:01:57 +02:00
Kubernetes Submit Queue b4bfb1847c
Merge pull request #66446 from bertinatto/metrics_volume_manager
Automatic merge from submit-queue (batch tested with PRs 61212, 66369, 66446, 66895, 66969). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add more metrics for Volume Manager

**What this PR does / why we need it**:

This PR adds a few metrics described in the [Metrics Spec](https://docs.google.com/document/d/1Fh0T60T_y888LsRwC51CQHO75b2IZ3A34ZQS71s_F0g/edit#heading=h.ys6pjpbasqdu):

* Number of volumes in ActualStateofWorld and DesiredStateofWorld
* Number of times ReconstructVolume Spec on kubelet failed

**Release note**:

```release-note
NONE
```
2018-08-14 21:18:12 -07:00
Kubernetes Submit Queue 1f86c1cf26
Merge pull request #61212 from charrywanganthony/duplicated_import
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove duplicated import

**Release note**:

```release-note
NONE
```
2018-08-14 20:18:00 -07:00
Jose A. Rivera 13462bf341 PVC Protection: Wait for Pod delete
Currently, the PVC protection controller will remove its finalizer when
all Pods using a PVC reach at least a Terminating state. However,
certain volumes cannot be guaranteed to be umounted until a Pod is
deleted. Only Pods not in the current pods list can be considered
deleted, so we're removing the exception to not check Terminating Pods.

Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
2018-08-13 13:57:36 -05:00
Fabio Bertinatto 376a94e039 Add more metrics for Volume Manager
Specifically:

* Number of volumes in ActualStateofWorld and DesiredStateofWorld
* Number of times ReconstructVolume Spec on kubelet failed
2018-08-13 17:36:36 +02:00
Kubernetes Submit Queue 89e57b5051
Merge pull request #67102 from ddebroy/ebs-e2e1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

End2End tests for DynamicVolumeProvisioning of EBS

**What this PR does / why we need it**:
Add end2end tests to exercise `DynamicProvisioningScheduling` features for EBS. The tests make sure `WaitForFirstConsumer` and `AllowedTopologies` specified in a EBS storage class has the desired effect.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
Tests features added to 217a3d8902 

**Release note**:

```
NONE
```
/sig storage
/assign @msau42 @jsafrane
2018-08-10 21:33:57 -07:00
Deep Debroy 0417b21d50 End2End tests for DynamicVolumeProvisioning for EBS
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-08-10 16:33:46 -07:00
Tim Pepper 91b0ecc006 storage e2e test: remove race when setting up loopback device
CI has shown occasional failures stemming from an -EBUSY when
test/e2e/storage/persistent_volumes-local.go aka "PersistentVolumes-local"
attempts to do losetup.

Looking at the code, it has a clear race between querying the current
free loopback device and later explicitly attempting to loopback setup a
file at the queried device node.  Losetup nowadays includes the logic to
handle this for the user, if the '-f' option is used instead of naming
the desired target loopback device explicitly.  It is safe to presume
a suitable losetup is present as the '-f' option is used elsewhere in
the test, and it is safe to not record the allocated device, as it is
already queried on the fly elsewhere in the test ahead of other commands
which need to know an already created loopback device's node name.

This patch should result in less flakes for this test case.

Signed-off-by: Tim Pepper <tpepper@vmware.com>
2018-08-10 15:28:50 -07:00
Yang Guo 7a0c1ab322 Allow running various storage e2e tests on custom images 2018-08-09 17:02:02 -07:00
Davanum Srinivas 6cd8bd62fe
e2e test harness - use busybox from dockerhub
Use the same pattern everywhere in the e2e test
harness, use busybox (from dockerhub) instead
of using the one from k8s.gcr.io registry.

Change-Id: I57c3b867408c1f9478a8909c26744ea0368ff003
2018-08-07 11:22:16 -04:00
Manjunath A Kumatagi 1f7f33aaa4 Update the nginx image from hub.docker.com 2018-08-04 05:19:53 +05:30
Kubernetes Submit Queue babdbff848
Merge pull request #66925 from msau42/udev
Automatic merge from submit-queue (batch tested with PRs 66933, 66925). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Rework multi-volume test to use StatefulSet

**What this PR does / why we need it**:
The e2e test that got added as part of https://github.com/kubernetes/kubernetes/pull/66832 fails in a multi-zone environment because the volumes get provisioned in random zones.  This PR reworks the test to use StatefulSet instead, which handles provisioning multiple PVCs in the same zone.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-03 14:36:02 -07:00
Michelle Au 4fbf25f8c7 Rework multi-volume test to use StatefulSet 2018-08-02 18:36:23 -07:00
Maria Alejandra Kurylec 768f00f351 a) adding documentation for the conformance tests including targeted release and test description. 2018-08-02 13:58:36 -03:00
Maria Alejandra Kurylec e254126f02 a) promoting "Atomic Writer volume" testcases 2018-08-02 13:58:36 -03:00
Kubernetes Submit Queue d3c09656d7
Merge pull request #66832 from msau42/udev
Automatic merge from submit-queue (batch tested with PRs 64645, 66832). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Detect if GCE PD udev link is wrong and try to correct it

**What this PR does / why we need it**:
udev can miss scsi events and not update device links properly when disks are detached and reattached to the same node in a different order.  This PR workarounds the issue by comparing the udev link name, which is the PD disk name, with the scsi disk serial number returned from scsi_id, and prevents mounting of the disk if the link is wrong.  It will also run `udevadm trigger` on the disk to try to correct the bad link.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
This fix prevents a GCE PD volume from being mounted if the udev device link is stale and tries to correct the link.
```
2018-08-01 17:13:03 -07:00
Kubernetes Submit Queue 9a61384a7d
Merge pull request #66786 from mkurylec/65721-part-1-refactor
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Part 1: Allowing volumes to choose when to use securityContext 

This PR is the result of [splitting this PR]( https://github.com/kubernetes/kubernetes/pull/65793) into 2 sections:
1) This part, addressing the refactor so eligible-test-for-conformance can use get rid of privileged security context.
2) a second part that will address the promotion of the testcases to be in conformance suite.

Changes:
a) demoted privileged mode for these tests (not needed)
b) regular tests (the other ones existing in the file) will still be using privileged security context.
b) adding privilegedSecurityContext field to VolInfo, so each volume-flavor can let the test know if the security context has to be privileged or not.
This allows granular changes and updates per volume).
2018-08-01 10:28:33 -07:00
Michelle Au cf107159b4 Detect if GCE PD udev link is wrong and try to correct it 2018-08-01 10:04:06 -07:00
Chao Wang 39a4730db6 remove duplicated import 2018-08-01 13:27:42 +08:00
Maria Alejandra Kurylec 677eaa5b88 Note:
this PR is the result of splitting https://github.com/kubernetes/kubernetes/pull/65793 into 2 sections
1) This part, addressing the refactor so eligible-test-for-conformance can use get rid of privileged security context.
2) a second part that will address the promotion of the testcases to be in conformance suite

Changes:
a) demoted privileged mode for these tests (not needed)
b) regular tests (the other ones existing in the file) will still be using privileged security context.
c) adding privilegedSecurityContext field to VolInfo, so each volume-flavor can let the test know if the security context has to be privileged or not.
This allows granular changes and updates per volume).
d) fixing formatting issue.
2018-07-31 17:23:46 -03:00
stewart-yu 736694e6ad fix wrong output in e2e log 2018-07-28 14:39:12 +08:00
Cheng Xing 66c48aae67 Flexvolume e2e test for attachable driver: Introduced delay after pod deletion to ensure detach happens 2018-07-25 15:32:55 -07:00
Kubernetes Submit Queue dc663c0b9d
Merge pull request #66405 from davidz627/fix/subpathTestTimeout
Automatic merge from submit-queue (batch tested with PRs 66341, 66405, 66403, 66264, 66447). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump subpath test pod timeout to 5 minutes

Fixes: #66376 

It seems that sometimes `Attach` on GCP side can take multiple minutes (when recently detached from another node) and therefore the old timeout of 1 minute is not long enough. 5 minutes is standard elsewhere and seems to be long enough for the long tail of GCE Attach time.

Also the ext4 test was really hard to debug because all the old PD tests call all the pods "pd-injector" and all the volume mounts "pd-volume." Made a change to make that more readable by adding a length 4 random string suffix.

/kind flake
/sig storage

/assign @msau42 

```release-note
NONE
```
2018-07-20 16:02:08 -07:00
David Zhu 8e85b78652 Changed subpath test pod to use standard 5 minute timeout wait function,
bumped from 1 minute
2018-07-19 14:34:07 -07:00
Fabio Bertinatto a15cc29442 Add extra metrics for PV Controller
Specifically:

* Total provision time
* Total PV deletion time
* Number of times PV provisioning failed
* Number of times PV deletion failed
2018-07-19 15:36:37 +02:00
Kubernetes Submit Queue 77205b90a0
Merge pull request #66172 from krunaljain/bugfix/revert_pd_size_rounding_to_GB
Automatic merge from submit-queue (batch tested with PRs 66172, 66254). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Reverting commit #56600 as GCE PD is allocated in chunks of GiB inste…

**What this PR does / why we need it:**
This PR reverts the changes made in commit https://github.com/kubernetes/kubernetes/pull/56600 which considered GCE PDs are allocated in chunks of GBs. The following set of operations demonstrate the allocation is in GiBs. 

Manually create a PD in GB, and manually attach it to a node:
```
$ gcloud compute disks create msau-test --zone=us-central1-b --size=1GB
```
Run lsblk on it, and it shows the bytes of the disk are 1GiB:
```
$ lsblk -b
sdc       8:32   0  1073741824  0 disk 
```

**Which issue(s) this PR fixes**:
[65285](https://github.com/kubernetes/kubernetes/issues/65285)
**Special notes for your reviewer**:
```release-note
none
```
2018-07-17 02:13:03 -07:00
Kubernetes Submit Queue bb4bdd08a9
Merge pull request #63877 from AdamDang/patch-9
Automatic merge from submit-queue (batch tested with PRs 63877, 64559, 65952). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Typo fix in the returned message: dynamicly->dynamically

Line 541: a typo in the returned message: 
dynamicly->dynamically
2018-07-16 17:00:02 -07:00
Krunal Jain 539b3693f4 Reverting commit #56600 as GCE PD is allocated in chunks of GiB instead of GBs
Fixing comments and importing constant from util

Importing constant from util

Fixing comment in volume_provisioning.go
2018-07-16 11:55:57 -07:00
Kubernetes Submit Queue bc98f7a5f2
Merge pull request #66040 from wongma7/attachflag
Automatic merge from submit-queue (batch tested with PRs 66064, 66040). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Re-enable write-read pv check in volume provisioning tests

**What this PR does / why we need it**: Except for the recently-added CSI tests, every test that uses testDynamicProvisioning in volume_provisioning has been skipping the 
		`By("checking the created volume is writable and has the PV's mount options")`
and
		`By("checking the created volume is readable and retains data")`
steps due to an unintentional change in https://github.com/kubernetes/kubernetes/pull/59879

**Special notes for your reviewer**: The 'attach' variable name is not descriptive at all, default behaviour is unclear. Tests will take longer of course, but that was always the intention, to not only test provisioning of PV is according to PVC but that you can actually r/w it (hence e2e).

**Release note**:

```release-note
NONE
```
2018-07-12 01:34:27 -07:00
Kubernetes Submit Queue bababe08f6
Merge pull request #65854 from cofyc/statefulset_with_podaffinity
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add local volume pod affinity tests.

**What this PR does / why we need it**:

Add local volume pod affinity tests.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #56100 (with already merged prs #59682, #60260)

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-10 20:00:12 -07:00
Matthew Wong c968beceb1 Re-enable write-read pv check in volume provisioning tests 2018-07-10 16:20:58 -04:00
Matthew Wong 000aea63ca Fix wrong flexvolume dir on gce ubuntu 2018-07-09 15:34:19 -04:00
Yecheng Fu c3715da13f Add local volume pod affinity tests. 2018-07-08 02:36:49 +00:00
Kubernetes Submit Queue 9f3e2010dc
Merge pull request #65117 from mkimuram/issue/56803v2
Automatic merge from submit-queue (batch tested with PRs 64593, 65117, 65629, 65827, 65686). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add e2e tests for volumeMode of persistent volume

This set of e2e tests is to confirm that persistent volume works well for all volumeModes.
Coverage of the tests are shown in the figure of [Test cases], below.

Once implementation policy is confirmed to be good, we can add plugins and test cases to this.
[Test cases]
```
 #   plugin      volumeMode    Test case                                                Expectation
--- ---------- -------------- ------------------------------------------------------ ------------
 1    iSCSI      Block         (a) Create Pod with PV and confirm Read/Write to PV    Success
 2    iSCSI      Block         (b) Create Pod and restart kubelet and confirm PV      Success
 3    iSCSI      Block         (c) Create Pod and restart kubelet while deleting PV   Success
 4    iSCSI      FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
 5    iSCSI      FileSystem    (b) Create Pod and restart kubelet and confirm PV      Success
 6    iSCSI      FileSystem    (c) Create Pod and restart kubelet while deleting PV   Success
 7    RBD        Block         (a) Create Pod with PV and confirm Read/Write to PV    Success
 8    RBD        Block         (b) Create Pod and restart kubelet and confirm PV      Success
 9    RBD        Block         (c) Create Pod and restart kubelet while deleting PV   Success
10    RBD        FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
11    RBD        FileSystem    (b) Create Pod and restart kubelet and confirm PV      Success
12    RBD        FileSystem    (c) Create Pod and restart kubelet while deleting PV   Success
13    CephFS     Block         (a) Create Pod with PV and confirm Read/Write to PV    Fail
14    CephFS     FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
15    CephFS     FileSystem    (b) Create Pod and restart kubelet and confirm PV      Success
16    CephFS     FileSystem    (c) Create Pod and restart kubelet while deleting PV   Success
17    NFS        Block         (a) Create Pod with PV and confirm Read/Write to PV    Fail
18    NFS        FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
19    NFS        FileSystem    (b) Create Pod and restart kubelet and confirm PV      Success
20    NFS        FileSystem    (c) Create Pod and restart kubelet while deleting PV   Success
```




**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #56803

**Special notes for your reviewer**:
/sig storage
@gnufied  @rootfs @jsafrane @jeffvance 

This PR is intend to reflect the comments for the below PR.
https://github.com/kubernetes/kubernetes/pull/56804

**Release note**:

```release-note
NONE
```
2018-07-04 18:52:10 -07:00
Hemant Kumar 4e7c2f638d Make various fixes to flex tests and fix some crashes
Remove disruptive from flex
2018-06-29 11:10:26 -04:00
Masaki Kimura 1b06ba5072 Add e2e tests for volumeMode of persistent volume
This set of e2e tests is to confirm that persistent volume works well for all volumeModes.
Coverage of the tests are shown in the figure of [Test cases], below.

Once implementation policy is confirmed to be good, we can add plugins and test cases to this.

[Test cases]
 #   plugin      volumeMode    Test case                                              Expectation
--- ---------- -------------- ------------------------------------------------------ ------------
 1    iSCSI      Block         (a) Create Pod with PV and confirm Read/Write to PV    Success
 2    iSCSI      FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
 3    RBD        Block         (a) Create Pod with PV and confirm Read/Write to PV    Success
 4    RBD        FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
 5    CephFS     Block         (a) Create Pod with PV and confirm Read/Write to PV    Fail
 6    CephFS     FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success
 7    NFS        Block         (a) Create Pod with PV and confirm Read/Write to PV    Fail
 8    NFS        FileSystem    (a) Create Pod with PV and confirm Read/Write to PV    Success

fixes: #56803
2018-06-27 17:25:55 +00:00
Yecheng Fu 1fbc5babb5 Prepare local volumes via hostexec pod. 2018-06-26 13:18:55 +08:00
Jeff Grafton 23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Kubernetes Submit Queue cbe4f48866
Merge pull request #65064 from davidz627/fix/CSIe2eAttach
Automatic merge from submit-queue (batch tested with PRs 65064, 65218, 65260, 65241, 64372). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Added attach/mount/check steps to CSI Driver E2E tests

This PR makes the CSI Volume E2E tests actually go through the entire dynamic provisioning pipeline and test attach/mount/check file etc.

Fixes #64927

```release-note
None
```
2018-06-21 21:12:09 -07:00
Kubernetes Submit Queue 18b16be622
Merge pull request #65223 from jsafrane/aws-inaccessible-key
Automatic merge from submit-queue (batch tested with PRs 65187, 65206, 65223, 64752, 65238). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixed detection of inaccessible AWS encryption key.

AWS provisioner now checks if created encrypted volume gets "Available" or it gets silently deleted by AWS because StorageClass referenced invalid (e.g. non-existing) KMS key for encryption.

This seems to be the only way how to detect such invalid key, because Kubernetes may not have enough permission to check if the key exists.

**Which issue(s) this PR fixes**
Fixes #62171

**Special notes for your reviewer**:

**Release note**:

```release-note
AWS now checks for validity of ecryption key when creating encrypted volumes. Dynamic provisioning of encrypted volume may get slower due to these checks.
```

/sig aws
/sig storage
@kubernetes/sig-aws-misc
2018-06-21 19:48:10 -07:00
Kubernetes Submit Queue 7a954fd37c
Merge pull request #65056 from jsafrane/aws-provisioning-tests
Automatic merge from submit-queue (batch tested with PRs 65123, 65176, 65139, 65084, 65056). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Enable dynamic provisioning tests on AWS.

The tests are not slow, they finish on GCE in ~46 seconds and on AWS
in ~103 seconds.

**Release note**:

```release-note
NONE
```
2018-06-21 16:56:19 -07:00
Kubernetes Submit Queue 02dba36128
Merge pull request #65019 from mirake/fix-typo-toto
Automatic merge from submit-queue (batch tested with PRs 65265, 64822, 65026, 65019, 65077). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Typo fix: toto -> to
2018-06-21 11:25:16 -07:00
Kubernetes Submit Queue 06b3f35b7f
Merge pull request #64767 from jsafrane/remove-volume-feature
Automatic merge from submit-queue (batch tested with PRs 64416, 63625, 60967, 64767, 64588). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove Feature:Volume from tests

These tests don't depend on any alpha/beta feature and they have correct `SkipUnlessProviderIs` tests so they run only on proper cloud.

/kind feature
/sig storage

**Release note**:

```release-note
NONE
```
2018-06-20 07:12:27 -07:00
David Zhu 77df3ff525 Added attach/mount/check steps to CSI Driver E2E tests 2018-06-19 13:43:36 -07:00
Jan Safranek 7bbe309d8d Fixed detection of inaccessible AWS encryption key. 2018-06-19 10:11:47 +02:00
Jan Safranek a15a2af085 Enable dynamic provisioning tests on AWS.
The tests are not slow, they finish on GCE under 1.5 minutes and on AWS
under 3 minutes.
2018-06-13 13:09:25 +02:00
ruicao 95c232ee07 Typo fix: toto -> to 2018-06-12 23:12:39 +08:00
Kubernetes Submit Queue a9d2b5eeae
Merge pull request #63780 from pohly/csi-e2e-parameters
Automatic merge from submit-queue (batch tested with PRs 60699, 63780). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

e2e/storage: parameterize container images

**What this PR does / why we need it**:

The CSI integration test for hostpath was hard-coded to use the latest
stable release of the sidecar and hostpath container images. This
makes sense for regression testing of changes made in Kubernetes
itself, but the same test is also useful for testing the "canary"
images on quay.io before tagging them as a new release or for testing
locally produced images. Both is now possible via command line
parameters.

**Which issue(s) this PR fixes**:
Related-to: kubernetes-csi/docs#23

**Special notes for your reviewer**:

The commit message has usage instructions.

```release-note
NONE
```

/sig storage
2018-06-08 11:26:09 -07:00