Description of problem: local-storage-provisioner checks mountDir and creates PVs for local volumes, when there is a regular file in mountDir, it will not create PV for it and report error. Version-Release number of selected component (if applicable): openshift v3.9.0-0.39.0 kubernetes v1.9.1+a0ce1bc657 How reproducible: Always Steps to Reproduce: 1. Create hostDir on one node, and create a regular file under hostDir 2. using image: registry.reg-aws.openshift.com:443/openshift3/local-storage-provisioner:v3.9.0-0.39.0 to create local storage provisoiner 3. No PV is created 4. check local storage provisioner pod log message. oc logs local-volume-provisioner-jxxpj Actual results: E0207 07:29:33.448320 1 discovery.go:106] Block device check for "/mnt/local-storage/fast/vol3" failed: DirErr - <nil> BlkErr - <nil> Expected results: vol3 is not a mountpoint or directory, does not create PV for it?
This is trivial to fix, however I am not sure it can catch 3.9
Upstream PR: https://github.com/kubernetes-incubator/external-storage/pull/595 Proposed log message: "Skipping file "/mnt/local-storage/fast/vol3": not a directory nor block device".
Upstream PR is merged, now I am looking for a way how to release updated local-storage images.
3.9 image built and pushed somewhere where 3.9 installed with Jenkins can find it. Checked with: $ docker run -ti --entrypoint=/bin/sh registry.reg-aws.openshift.com:443/openshift3/local-storage-provisioner:v3.9 (inside the container) $ rpm -q openshift-external-storage-local-provisioner openshift-external-storage-local-provisioner-0.0.1-8.git78d6339.el7.x86_64 (inside the container) $ rpm -q --changelog openshift-external-storage-local-provisioner | head * Fri Feb 16 2018 jsafrane <jsafrane> - 0.0.1-8.git78d6339 - Rebuilt for 3.9 * Mon Feb 12 2018 jsafrane <jsafrane> - 0.0.1-7.git78d6339 - Fix error message when a plain file is discovered - Resolves: rhbz#1542867
Now the image local-storage-provisioner with tag v3.9 has fixed this issue. # docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.access.redhat.com/openshift3/local-storage-provisioner v3.9 a5cfdbd5ba3f 3 weeks ago 234 MB # oc exec local-volume-provisioner-rgs68 -- rpm -qa|grep local openshift-external-storage-local-provisioner-0.0.1-8.git78d6339.el7.x86_64
Verified in OCP: oc v3.9.24 openshift v3.9.24 kubernetes v1.9.1+a0ce1bc657 # oc exec local-volume-provisioner-qfg5b -- rpm -qa|grep local openshift-external-storage-local-provisioner-0.0.1-8.git78d6339.el7.x86_64 # uname -a Linux host-172-16-120-35 3.10.0-693.21.1.el7.x86_64 #1 SMP Fri Feb 23 18:54:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4 (Maipo) Report error as expected: E0420 03:04:43.477544 1 discovery.go:106] Skipping file "/mnt/local-storage/ssd/testfile": not a directory nor block device
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:1566