Bug 991490
Summary: | [RHS-RHOS] Mount options specified in glusterfs_shares_config not applied when cinder-volume is restarted | |||
---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Gowrishankar Rajaiyan <grajaiya> | |
Component: | openstack-cinder | Assignee: | Deepak C Shetty <dshetty> | |
Status: | CLOSED ERRATA | QA Contact: | lkuchlan <lkuchlan> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | high | |||
Version: | 4.0 | CC: | ddomingo, dshetty, eharney, grajaiya, jschluet, nlevinki, rhs-bugs, sankarshan, scohen, smanjara, ssaha, vbellur, yeylon | |
Target Milestone: | z5 | Keywords: | ZStream | |
Target Release: | 5.0 (RHEL 7) | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
URL: | https://review.openstack.org/#/c/86888/ | |||
Whiteboard: | ||||
Fixed In Version: | openstack-cinder-2014.1.4-4.el7ost | Doc Type: | Bug Fix | |
Doc Text: |
Previously, Red Hat Gluster Storage volumes were not re-mounted when restarting the Block Storage volumes using them as back ends. This prevented updated mount options in the glusterfs shares configuration file from being honored, even after restarting the Block Storage service volumes.
With this update, the Block Storage glusterfs driver now explicitly unmounts and mounts the Red Hat Gluster Storage volumes explicitly. This, in turn, ensures that updated mount options are honored as expected upon restarting the Block Storage volume.
|
Story Points: | --- | |
Clone Of: | ||||
: | 1254739 (view as bug list) | Environment: |
virt rhos cinder rhs integration
|
|
Last Closed: | 2015-09-10 11:48:05 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: | 1045196, 1254739 |
Description
Gowrishankar Rajaiyan
2013-08-02 14:29:43 UTC
Unable to reproduce this on a fresh setup. Feel free to mark this as CLOSED WORKSFORME. I shall re-open if hit in future. [root@rhs-hpc-srv1 cinder]# ps aux | grep gluster root 7827 0.0 0.1 347652 85272 ? Ssl 09:41 0:00 /usr/sbin/glusterfs --acl --selinux --volfile-id=glance-vol --volfile-max-fetch-attempts=3 --volfile-server=10.70.43.44 /var/lib/glance/images/ root 12324 1.3 0.1 345544 77128 ? Ssl 10:55 0:00 /usr/sbin/glusterfs --selinux --volfile-id=cinder-vol --volfile-server=10.70.43.47 /var/lib/cinder/volumes/c607a8395f811f8de0e5af0c4a1c1846 root 12326 1.2 0.1 347656 75356 ? Ssl 10:55 0:00 /usr/sbin/glusterfs --acl --selinux --volfile-id=cinder-vol --volfile-max-fetch-attempts=3 --volfile-server=10.70.43.44 /var/lib/cinder/volumes/1d12e17a168a458a2db39ca37ee302fd I will start to look at this It looks like the root cause of the problem seen is due to the fact that when we restart cinder-vol service, it doesn't mount the gluster volume (since its already mounted) and that happens because when we kill/stop cinder-vol the existing gluster mounts exists, hence during restart nothing is done as far as mount point is concerned. The fix for that would be to ensure that when c-vol service is stopped/killed, the existing gluster cinder mounts are also un-mounted. When i did that manually, the mount options specicifed were seen in the glusterfs process since during restart the cinder service remounted and the -o option took effect. Working on a patch for the same. thanx, deepak Seems like cinder doesn't have a framework to do cleanup as part of Ctrl-C or cinder vol service going down/restart. I tried to use __del__ and atexit but they don't seem to be working as expected. More details abt the issue I am seeing can be found @ http://lists.openstack.org/pipermail/openstack-dev/2014-April/031779.html It looks like given the current cinder framework of things, the only thing that can be done to fix the problem mentioned here is to force a umount and then re-mount during gluster driver startup. I posted a patch to that effect @ https://review.openstack.org/#/c/86888/ FWIW : Cinder improvements towards handling shares config file as documented in this bp @ https://blueprints.launchpad.net/cinder/+spec/remotefs-share-cfg-improvements should provide more cleaner approach to handle such issues in near future thanx, deepak https://review.openstack.org/#/c/86888/ has been merged upstream. Tested using: openstack-cinder-2014.1.5-1.el7ost.noarch python-cinderclient-1.0.9-1.el7ost.noarch python-cinder-2014.1.5-1.el7ost.noarch Verification instructions: 1. Create distribute replicate volume and apply all the necessary volume options. 2. Install openstack using "packstack --allinone" 3. Enable backend to use glusterfs driver. 4. Create /etc/cinder/cinder-volume1.conf and ensure to include a mount option. (-o selinux in this case0 5. Restart openstack-cinder-volume service 6. Verify if the mount options specified are applied using "ps" command. Results: #ps aux | grep gluster root 21853 0.0 0.0 112640 928 pts/0 S+ 10:05 0:00 grep --color=auto glusters: /var/log/cinder/volume.log: 2015-09-02 10:11:30.036 18766 DEBUG cinder.volume.drivers.glusterfs [-] Available shares: [u'10.35.160.6:/gluster_volumes/lkuchlan01'] _ensure_shares_mounted /usr/lib/python2.7/site-packages/cinder/volume/drivers/glusterfs.py 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://rhn.redhat.com/errata/RHBA-2015-1758.html |