-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
WIP: Checking fix for dynamic provisioning tests: rebase 1.13.4 #22446
Conversation
fbf6a3b
to
c6214ec
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: wongma7 If they are not already assigned, you can assign the PR to them by writing 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 |
well, now the drivers run fine, but of course the pods consuming the csi hostpath driver also run into permission errors... I believe the driver creates 777 directories in /tmp, but it seems ordinary pods can't read or write there, and this time I don't see selinux denials in workers-journal. Here's the 3 functions we create pods to try to consume the volumes in: runInPodWithVolume |
It must be SELinux. Kubelet + CSI driver mounts a volume into /var/lib/kubelet/pods/5a8f8521-561a-11e9-bc56-06799de127b8/volumes/kubernetes.io~csi/pvc-552ab890-561a-11e9-bc56-06799de127b8/mount:
But then the client pod runs as |
The client pod was started with
|
|
Scratch the previous comment, I accidentally ran with SELinux permissive. tmpfs does not help at all, it's labeled with |
@jsafrane Summary: solution would be to make the hostpath csi plugin create PVs on the host (hence hostpath!), not inside the container. It is very confusing because I cannot seem to figure out a stable image version + yaml combination yet. edit: mounting /var/lib/csi-hostpath-data to /tmp works, hostpath plugin v1.0.1 is hardcoded to use container's /tmp directory The plugin is creating directories in /tmp in the container and /tmp inherits the labels of container fs, I think this is expected/okay.
I'm guessing the container runtime randomly chooses non-overlapping categories like c22,c662 to secure container filesystems from each other. If the pvc directory has c22,c662 then giving the pod c22,c662 will let it access it. But the pvc directory won't have c22,c662 in the first place if the plugin creates it on the host. Why not? Then we need a version of the plugin with kubernetes-csi/csi-driver-host-path#20, which upstream is not using yet. Also, even if we get a new hostpath plugin release containing kubernetes-csi/csi-driver-host-path#20, I think the yaml is a bit broken because the node registrar container is mounting it, not the plugin container https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/deploy/master/hostpath/csi-hostpath-plugin.yaml#L62 Will work on the above tomorrow |
/test e2e-aws |
2 similar comments
/test e2e-aws |
/test e2e-aws |
078266d
to
753b497
Compare
/test e2e-aws |
753b497
to
ea70b6c
Compare
ea70b6c
to
3451d1d
Compare
/test e2e-aws |
2 similar comments
/test e2e-aws |
/test e2e-aws |
I've been running CSI tests in my local env and this is what I see when I describe:
Apparently the ServiceAccount used in the test doesn't have the I'm currently looking into how I can do that in the test. |
The test is supposed to create a PSP that gives access to privileged and all that https://github.com/kubernetes/kubernetes/blob/b0aee7fa3c834a47c5c0245e4074678df9387baa/test/e2e/framework/psp_util.go. Not sure how it works in relation to SCC's. Some tests are passing now, some flaking, some failing, and I don't see SELinux denials anymore at least. |
All the failures say something like
I don't know what it means but since the plugin container can't start, no socket gets created, nobody can connect. |
registry bug maybe? kubelet says successfully pulled but then container can't start? sha256:0aa496f3e7ff7240abbf306e4244a75c5e59cbf2e4dbc246a6db2ca1bc67c6b1 is quay.io/k8scsi/hostpathplugin:v0.4.1 openshift-tests [sig-storage] CSI Volumes [Driver: csi-hostpath-v0] [Testpattern: Dynamic PV (default fs)] subPath should support existing single file [Suite:openshift/conformance/parallel] [Suite:k8s] 5m33sip-10-0-170-145.ec2.internal Apr 10 16:47:00.615: INFO: At 2019-04-10 16:42:02 +0000 UTC - event for csi-hostpathplugin-698xl: {kubelet ip-10-0-170-145.ec2.internal} Failed: Error: Manifest does not match provided manifest digest sha256:0aa496f3e7ff7240abbf306e4244a75c5e59cbf2e4dbc246a6db2ca1bc67c6b1 openshift-tests [sig-storage] CSI Volumes [Driver: csi-hostpath-v0] [Testpattern: Dynamic PV (default fs)] volumes should allow exec of files on the volume [Suite:openshift/conformance/parallel] [Suite:k8s] 5m38sip-10-0-170-145.ec2.internal Apr 10 16:43:29.926: INFO: At 2019-04-10 16:38:29 +0000 UTC - event for csi-hostpathplugin-zpqpz: {kubelet ip-10-0-170-145.ec2.internal} Failed: Error: Manifest does not match provided manifest digest sha256:0aa496f3e7ff7240abbf306e4244a75c5e59cbf2e4dbc246a6db2ca1bc67c6b1 openshift-tests [sig-storage] CSI Volumes [Driver: csi-hostpath] [Testpattern: Dynamic PV (default fs)] subPath should support existing single file [Suite:openshift/conformance/parallel] [Suite:k8s] 5m31sip-10-0-149-210.ec2.internal Apr 10 16:51:54.742: INFO: At 2019-04-10 16:46:56 +0000 UTC - event for csi-hostpathplugin-wlq9w: {kubelet ip-10-0-149-210.ec2.internal} Failed: Error: Manifest does not match provided manifest digest sha256:f755dd34ac4b928be4fc21593094c0f67f8d00b7ab846c7e6282575fddf86ced openshift-tests [sig-storage] CSI Volumes [Driver: csi-hostpath] [Testpattern: Dynamic PV (default fs)] subPath should support non-existent path [Suite:openshift/conformance/parallel] [Suite:k8s] 5m37sip-10-0-149-210.ec2.internal Apr 10 16:37:51.341: INFO: At 2019-04-10 16:32:50 +0000 UTC - event for csi-hostpathplugin-czn5g: {kubelet ip-10-0-149-210.ec2.internal} Failed: Error: Manifest does not match provided manifest digest sha256:f755dd34ac4b928be4fc21593094c0f67f8d00b7ab846c7e6282575fddf86ced openshift-tests [sig-storage] CSI Volumes [Driver: csi-hostpath] [Testpattern: Dynamic PV (default fs)] subPath should support readOnly file specified in the volumeMount [Suite:openshift/conformance/parallel] [Suite:k8s] 5m33sip-10-0-149-210.ec2.internal Apr 10 16:48:11.684: INFO: At 2019-04-10 16:43:11 +0000 UTC - event for csi-hostpathplugin-kcqfd: {kubelet ip-10-0-149-210.ec2.internal} Failed: Error: Manifest does not match provided manifest digest sha256:f755dd34ac4b928be4fc21593094c0f67f8d00b7ab846c7e6282575fddf86ced |
Apr 10 16:32:50 ip-10-0-149-210 hyperkube[1020]: E0410 16:32:50.786929 1020 remote_runtime.go:191] CreateContainer in sandbox "c17e7224dd87686083ea0a71bd6f7c6eeb984c73cf5c6c511c5bbf07c46001ca" from runtime service failed: rpc error: code = Unknown desc = Manifest does not match provided manifest digest sha256:f755dd34ac4b928be4fc21593094c0f67f8d00b7ab846c7e6282575fddf86ced |
e2e tests pulling from quay: framework/test_context.go storage/persistent_volumes-local.go apimachinery/aggregator.go storage/utils/utils.go testing-manifests/storage-csi/hostpath/hostpath/csi-hostpathplugin.yaml testing-manifests/storage-csi/hostpath/hostpath-v0/csi-hostpathplugin.yaml |
looks very similar to https://bugzilla.redhat.com/show_bug.cgi?id=1669096 |
/test e2e-aws |
confirmed known issue, was fixed but fix didn't show up somehow, sorry for spam https://bugzilla.redhat.com/show_bug.cgi?id=1698253 |
@wongma7: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
Yes, but it seems like it's not working with OpenShift. The test is adding the
And the pod is scheduled correctly. However, it seems like this is not the problem you're facing here. |
@wongma7: PR needs rebase. 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. |
@bertinatto how are you running the tests? The openshift e2e harness automatically adds a privileged SCC available to service account that is used for running e2es. |
@gnufied, I think I was running k8s tests (from release-1.13 branch) against OpenShift, but apparently I should've used the openshift-tests binary... |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
@openshift-bot: Closed this PR. In response to this:
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. |
No description provided.