Bug 947830
Summary: | On RHS clients machines, installing glusterfs-fuse package does not install fuse package automatically | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Niels de Vos <ndevos> |
Component: | build | Assignee: | Niels de Vos <ndevos> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | low | Docs Contact: | |
Priority: | medium | ||
Version: | mainline | CC: | csaba, gluster-bugs, greene.j, kkeithle, lmohanty, morten, rsherman |
Target Milestone: | --- | Keywords: | Patch |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | glusterfs-3.4.0 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 928327 | Environment: | |
Last Closed: | 2013-07-24 17:41:09 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 928327 |
Description
Niels de Vos
2013-04-03 11:47:12 UTC
Posted a proposed change to the .spec file: - http://review.gluster.org/4768 Hm, 1. not having a fusermount helper is equivalent with privilegizing mount (ie. only root (precisely, one who has CAP_SYS_ADMIN)) can mount glusterfs) 2. having our custom fusermount helper named "fusermount-glusterfs" is equivalent with allowing unprivileged gluster mount 3. for us, having only the stock fusermount helper (shipped by fuse, named "fusermount") sums up to not having a fusermount helper (ie. essentially the same sas 1.) That's because we deviated from the stock calling convention. (+1. in the source you see a fallback to "fusermount" if building of "fusermount-glusterfs" is not enabled. That's misleading though -- it's defunct historical clutter that should be removed (or at least commented out, as it might become functional again if fuse upstream adopts our calling convention)) Therefore at the moment, adding fusermount as dependency makes no operational difference, only brings in a superfluous dependency. (In reply to comment #2) > (+1. in the source you see a fallback to "fusermount" if building of > "fusermount-glusterfs" is not enabled. That's misleading though -- it's > defunct historical clutter that should be removed (or at least commented > out, as it might become functional again if fuse upstream adopts our calling > convention)) > > Therefore at the moment, adding fusermount as dependency makes no > operational difference, only brings in a superfluous dependency. Moving back to ASSIGNED as we obviously do not need fusermount. I've tested that on one of my systems too, and mounting works fine if the fuse package is not installed. I am having the described problem (mounting glusterfs volumes would not work after installing "glusterfs-fuse" on a RHEL5.9 client machine), and installing the fuse package fixes it. Mounting a volume made glusterfs complain about missing /dev/fuse until the "fuse" package was installed. I have also verified that installing glusterfs-fuse only with --nodeps mounts fine. Test on RHEL-5.9: [root@vm130-31 ~]# mount -t glusterfs rhs-2.example.com:/source /mnt Mount failed. Please check the log file for more details. [root@vm130-31 ~]# tail /var/log/glusterfs/mnt.log [2013-05-22 13:49:17.815337] I [glusterfsd.c:1776:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.3.0.7rhs (/usr/sbin/glusterfs --volfile-id=/source --volfile-server=rhs-2.example.com /mnt) [2013-05-22 13:49:17.815949] E [mount.c:610:gf_fuse_mount] 0-glusterfs-fuse: cannot open /dev/fuse (No such file or directory) [2013-05-22 13:49:17.815978] E [xlator.c:385:xlator_init] 0-fuse: Initialization of volume 'fuse' failed, review your volfile again Now, after loading the fuse module all works: [root@vm130-31 ~]# modprobe fuse [root@vm130-31 ~]# mount -t glusterfs rhs-2.example.com:/source /mnt [root@vm130-31 ~]# mount | grep glusterfs glusterfs#rhs-2.example.com:/source on /mnt type fuse (rw,default_permissions,allow_other,max_read=131072) Test on RHEL-6.5: [root@vm130-32 ~]# lsmod | grep fuse [root@vm130-32 ~]# mount -t glusterfs rhs-2.example.com:/source /mnt [root@vm130-32 ~]# lsmod | grep fuse fuse 69253 2 Conclusion: The fuse module needs to be loaded before /dev/fuse can be used. On RHEL6 and Fedora the module is loaded on demand. RHEL5 needs to load the module manually. Solution: On RHEL5 add a script under /etc/sysconfig/modules/ that loads the fuse module on boot. REVIEW: http://review.gluster.org/5070 (rpm: automatically load the fuse module on EL5) posted (#1) for review on master by Niels de Vos (ndevos) COMMIT: http://review.gluster.org/5070 committed in master by Anand Avati (avati) ------ commit 323fe9ec806a4a922fc6f3fd2389368811d6b417 Author: Niels de Vos <ndevos> Date: Wed May 22 16:20:36 2013 +0200 rpm: automatically load the fuse module on EL5 The fuse module needs to be loaded before /dev/fuse can be used. On RHEL6 and Fedora the module is loaded on demand. RHEL5 needs to load the module manually. This change add a script under /etc/sysconfig/modules/ that loads the fuse module on boot and packages it in the EL5 version of glusterfs-fuse. One of the features of GlusterFS is to not depend on additional fuse userspace. The conditional requires on /usr/bin/fusermount is not needed, this command is never called in the current version (even though is it referenced in the sources). Change-Id: I77028dade54771cb49cea68a517100f73763dc85 BUG: 947830 Signed-off-by: Niels de Vos <ndevos> Reviewed-on: http://review.gluster.org/5070 Reviewed-by: Kaleb KEITHLEY <kkeithle> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Anand Avati <avati> This bug is still seen in 3.4.0beta2 [root@ip-192-168-40-101 tmp]# rpm -qp glusterfs-fuse-3.4.0-0.5.beta2.el6.x86_64.rpm --requires warning: glusterfs-fuse-3.4.0-0.5.beta2.el6.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 89ccae8b: NOKEY glusterfs = 3.4.0-0.5.beta2.el6 /usr/bin/fusermount REVIEW: http://review.gluster.org/5102 (rpm: automatically load the fuse module on EL5) posted (#1) for review on release-3.4 by Niels de Vos (ndevos) (In reply to Rick Sherman from comment #9) > This bug is still seen in 3.4.0beta2 > > [root@ip-192-168-40-101 tmp]# rpm -qp > glusterfs-fuse-3.4.0-0.5.beta2.el6.x86_64.rpm --requires > warning: glusterfs-fuse-3.4.0-0.5.beta2.el6.x86_64.rpm: Header V4 RSA/SHA1 > Signature, key ID 89ccae8b: NOKEY > glusterfs = 3.4.0-0.5.beta2.el6 > /usr/bin/fusermount This seems to be a package built from the Fedora glusterfs.spec. The needed changes have been applied there now too. The next release will not require fusermount anymore. Test-packages are temporarily available from: - http://koji.fedoraproject.org/scratch/devos/task_5437680 (scratch-build http://koji.fedoraproject.org/koji/taskinfo?taskID=5437680) COMMIT: http://review.gluster.org/5102 committed in release-3.4 by Vijay Bellur (vbellur) ------ commit 06036dd18d67bf55111a46915f702078fdf8e65b Author: Niels de Vos <ndevos> Date: Wed May 22 16:20:36 2013 +0200 rpm: automatically load the fuse module on EL5 The fuse module needs to be loaded before /dev/fuse can be used. On RHEL6 and Fedora the module is loaded on demand. RHEL5 needs to load the module manually. This change add a script under /etc/sysconfig/modules/ that loads the fuse module on boot and packages it in the EL5 version of glusterfs-fuse. One of the features of GlusterFS is to not depend on additional fuse userspace. The conditional requires on /usr/bin/fusermount is not needed, this command is never called in the current version (even though is it referenced in the sources). BUG: 947830 Change-Id: I166327b8f2dff2c150368bdf5ea917af259186b2 Signed-off-by: Niels de Vos <ndevos> Reviewed-on: http://review.gluster.org/5102 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> |