Deal with stale network mount points (nfs, fuse, etc)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Landscape Client |
Fix Released
|
Medium
|
Thomas Herve | ||
landscape-client (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jaunty |
Fix Released
|
Undecided
|
Unassigned | ||
Karmic |
Fix Released
|
Undecided
|
Unassigned | ||
Lucid |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
landscape-sysinfo does a stat() on a bunch of file systems when it is run.
This can cause some errors when we are dealing with stale mount points for NFS, fuse (when used with a network) and others.
For example, with default mount options for NFS, if the NFS server goes away, any client stat()ing that mount point will hang forever. This can be bad if landscape-sysinfo is run on every login, and annoying if it is run via cron. I'm not sure what can be done here, probably nothing short of ignoring such filesystems entirely.
There is something else that can happen where we can improve things by treating the error. For example, if the stale NFS mount point was mounted using -o soft,bg,intr, then after a while we get an error in the system logs and a backtrace in landscape-sysinfo:
2009-03-30 17:32:57,310 ERROR Disk plugin raised an exception.
Traceback (most recent call last):
File "/usr/lib/
result = plugin.run()
File "/usr/lib/
self._statvfs)
File "/usr/lib/
for info in get_mount_
File "/usr/lib/
stats = statvfs_
OSError: [Errno 5] Input/output error: '/mnt/nfs'
Mar 30 17:32:57 nsn2 kernel: [30339.580111] nfs: server localhost not responding, timed out
Mar 30 17:33:45 nsn2 kernel: [30387.580233] nfs: server localhost not responding, timed out
This and similar OSErrors can be treated. Here is another one:
2009-03-30 20:25:37,050 ERROR Disk plugin raised an exception.
Traceback (most recent call last):
File "/usr/lib/
result = plugin.run()
File "/usr/lib/
self._statvfs)
File "/usr/lib/
for info in get_mount_
File "/usr/lib/
stats = statvfs_
OSError: [Errno 107] Transport endpoint is not connected: '/srv/stuff/test
Related branches
- Free Ekanayaka (community): Approve
- Kevin McDermott (community): Approve
-
Diff: 249 lines (+86/-24)5 files modifiedlandscape/lib/disk.py (+10/-3)
landscape/lib/tests/test_disk.py (+9/-0)
landscape/sysinfo/deployment.py (+4/-1)
landscape/sysinfo/disk.py (+21/-16)
landscape/sysinfo/tests/test_disk.py (+42/-4)
Changed in landscape-client: | |
importance: | Undecided → Medium |
Changed in landscape-client: | |
milestone: | none → 1.0.29 |
Changed in landscape-client: | |
milestone: | 1.0.29 → 1.0.x |
tags: | added: sooner-than-later |
Changed in landscape-client: | |
milestone: | 1.0.x → 1.5.0 |
Changed in landscape-client: | |
assignee: | nobody → Thomas Herve (therve) |
tags: | removed: sooner-than-later |
Changed in landscape-client: | |
status: | New → Fix Committed |
tags: | added: testing |
tags: | removed: testing |
tags: | added: needs-testing |
Changed in landscape-client: | |
status: | Fix Committed → Fix Released |
affects: | ubuntu → landscape-client (Ubuntu) |
tags: | removed: verification-needed |
Confirmed fixed, a stale nfs mount point doesn't hang landscape-sysinfo anymore.