Bug 1032409
| Summary: | quota: IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/'] | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Saurabh <saujain> |
| Component: | quota | Assignee: | Vijaikumar Mallikarjuna <vmallika> |
| Status: | CLOSED NOTABUG | QA Contact: | storage-qa-internal <storage-qa-internal> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 2.1 | CC: | mzywusko, rhs-bugs, smohan, storage-qa-internal, vagarwal, vbellur, vmallika |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-07-30 10:57:20 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: | |||
Presently it is been seen with some other commands as well,
[root@quota5 ~]# gluster volume info
Traceback (most recent call last):
File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 24, in <module>
import resource
File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 21, in <module>
from master import gmaster_builder
File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 16, in <module>
from libcxattr import Xattr
File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", line 5, in <module>
class Xattr(object):
File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", line 16, in Xattr
libc = CDLL(find_library("libc"))
File "/usr/lib64/python2.6/ctypes/util.py", line 209, in find_library
return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
File "/usr/lib64/python2.6/ctypes/util.py", line 93, in _findLib_gcc
fdout, ccout = tempfile.mkstemp()
File "/usr/lib64/python2.6/tempfile.py", line 286, in mkstemp
dir = gettempdir()
File "/usr/lib64/python2.6/tempfile.py", line 254, in gettempdir
tempdir = _get_default_tempdir()
File "/usr/lib64/python2.6/tempfile.py", line 201, in _get_default_tempdir
("No usable temporary directory found in %s" % dirlist))
IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/']
Volume Name: dist-rep
Type: Distributed-Replicate
Volume ID: 8cbe17e6-70cb-487c-b2e3-5055b93c909c
Status: Started
Number of Bricks: 6 x 2 = 12
Transport-type: tcp
Bricks:
Brick1: 10.70.35.188:/rhs/brick1/d1r1
Brick2: 10.70.35.108:/rhs/brick1/d1r2
Brick3: 10.70.35.191:/rhs/brick1/d2r1
Brick4: 10.70.35.144:/rhs/brick1/d2r2
Brick5: 10.70.35.188:/rhs/brick1/d3r1
Brick6: 10.70.35.108:/rhs/brick1/d3r2
Brick7: 10.70.35.191:/rhs/brick1/d4r1
Brick8: 10.70.35.144:/rhs/brick1/d4r2
Brick9: 10.70.35.188:/rhs/brick1/d5r1
Brick10: 10.70.35.108:/rhs/brick1/d5r2
Brick11: 10.70.35.191:/rhs/brick1/d6r1
Brick12: 10.70.35.144:/rhs/brick1/d6r2
Options Reconfigured:
features.quota-deem-statfs: on
features.quota: on
where as from other the gluster commands are working properly, as can be seen with the below mentioned command,
[root@quota6 ~]# gluster volume status
Status of volume: dist-rep
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick 10.70.35.188:/rhs/brick1/d1r1 49157 Y 1757
Brick 10.70.35.108:/rhs/brick1/d1r2 N/A Y 16878
Brick 10.70.35.191:/rhs/brick1/d2r1 49155 Y 593
Brick 10.70.35.144:/rhs/brick1/d2r2 N/A Y 16634
Brick 10.70.35.188:/rhs/brick1/d3r1 49158 Y 1768
Brick 10.70.35.108:/rhs/brick1/d3r2 N/A Y 16885
Brick 10.70.35.191:/rhs/brick1/d4r1 49156 Y 604
Brick 10.70.35.144:/rhs/brick1/d4r2 N/A Y 16638
Brick 10.70.35.188:/rhs/brick1/d5r1 49159 Y 1779
Brick 10.70.35.108:/rhs/brick1/d5r2 N/A Y 16892
Brick 10.70.35.191:/rhs/brick1/d6r1 49157 Y 615
Brick 10.70.35.144:/rhs/brick1/d6r2 N/A Y 16646
NFS Server on localhost 2049 Y 16949
Self-heal Daemon on localhost N/A Y 16956
Quota Daemon on localhost N/A Y 16963
NFS Server on 10.70.35.144 2049 Y 16704
Self-heal Daemon on 10.70.35.144 N/A Y 16711
Quota Daemon on 10.70.35.144 N/A Y 16718
NFS Server on 10.70.35.188 2049 Y 1793
Self-heal Daemon on 10.70.35.188 N/A Y 1802
Quota Daemon on 10.70.35.188 N/A Y 1869
NFS Server on 10.70.35.191 2049 Y 631
Self-heal Daemon on 10.70.35.191 N/A Y 637
Quota Daemon on 10.70.35.191 N/A Y 688
There are no active volume tasks
From the stack-trace the error is from the python internal library where it failed to create temporary file and it failed. The issue is with python or with the setup, so closing as Not a Bug |
Description of problem: While executing "gluster volume quota $volname list <path>" on one of the nodes throws error, IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/'] Version-Release number of selected component (if applicable): glusterfs-3.4.0.44rhs-1 How reproducible: happen to be seen only on one node of the cluster Steps to Reproduce: 1. execute the gluster volume quota $volname list <path> 2. 3. Actual results: [root@quota5 ~]# gluster volume quota dist-rep list /1 Traceback (most recent call last): File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 24, in <module> import resource File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 21, in <module> from master import gmaster_builder File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 16, in <module> from libcxattr import Xattr File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", line 5, in <module> class Xattr(object): File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", line 16, in Xattr libc = CDLL(find_library("libc")) File "/usr/lib64/python2.6/ctypes/util.py", line 209, in find_library return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) File "/usr/lib64/python2.6/ctypes/util.py", line 93, in _findLib_gcc fdout, ccout = tempfile.mkstemp() File "/usr/lib64/python2.6/tempfile.py", line 286, in mkstemp dir = gettempdir() File "/usr/lib64/python2.6/tempfile.py", line 254, in gettempdir tempdir = _get_default_tempdir() File "/usr/lib64/python2.6/tempfile.py", line 201, in _get_default_tempdir ("No usable temporary directory found in %s" % dirlist)) IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/'] Path Hard-limit Soft-limit Used Available -------------------------------------------------------------------------------- /1 10.0GB 80% 10.0GB 0Bytes Expected results: quota list command shouls provide stats related to it, without throwing any error. Additional info: