Status: Accepted
Owner: ----
Labels: Type-Defect Milestone-Release2.10 Priority-Medium

New issue 784 by [email protected]: gnt-node list returns blank info when file storage paths do not exist on disk
http://code.google.com/p/ganeti/issues/detail?id=784

What steps will reproduce the problem?
1. Upgrade a cluster with enabled file/sharedfile storage from 2.8/2.9 to 2.10
2. Make sure a storage path does not exist
3. Run gnt-node list

What is the expected output? What do you see instead?

gnt-node list will return questionmarks on all fields. This is because
storage.filestorage.GetFileStorageSpaceInfo() raises an unhandled exception and
causes backend.GetNodeInfo() to fail. The output in the node daemon log is:

 2014-03-20 14:02:43,602: ganeti-noded pid=16382 ERROR Error in RPC call
 Traceback (most recent call last):
File "/usr/share/ganeti/2.10/ganeti/server/noded.py", line 181, in HandleRequest
     result = (True, method(serializer.LoadJson(req.request_body)))
File "/usr/share/ganeti/2.10/ganeti/server/noded.py", line 762, in perspective_node_info
     return backend.GetNodeInfo(storage_units, hv_specs)
   File "/usr/share/ganeti/2.10/ganeti/backend.py", line 752, in GetNodeInfo
     (lambda (storage_type, storage_key, storage_params):
File "/usr/share/ganeti/2.10/ganeti/backend.py", line 731, in _GetNamedNodeInfo
     return map(fn, names)
   File "/usr/share/ganeti/2.10/ganeti/backend.py", line 753, in <lambda>
     _ApplyStorageInfoFunction(storage_type, storage_key, storage_params)))
File "/usr/share/ganeti/2.10/ganeti/backend.py", line 806, in _ApplyStorageInfoFunction
     return fn(storage_key, *args)
File "/usr/share/ganeti/2.10/ganeti/backend.py", line 770, in _GetFileStorageSpaceInfo
     return filestorage.GetFileStorageSpaceInfo(path)
File "/usr/share/ganeti/2.10/ganeti/storage/filestorage.py", line 56, in GetFileStorageSpaceInfo
     " path: %s - %s" % (path, e.strerror))
CommandError: Failed to retrieve file system information about path: - No such file or directory

Most likely, GetFileStorageSpaceInfo() should check for path existence and
return available and used size of zero for non-existing paths.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Reply via email to