Skip to content

Commit

Permalink
vdsm: get gluster volume info from any gluster peer
Browse files Browse the repository at this point in the history
The function _get_gluster_volinfo query the glusterfs volume info the the storage server, this is translated to the gluster client adding the parameter --remote-host which limits the query to one server, so we are converting the storage server as a single point of failure, if it is not available, it can led to cluster outtage.
The proposed changed let the cluster cli to use any available gluster peer.

Signed-off-by: José Enrique Gutiérrez Mazón <[email protected]>
  • Loading branch information
josgutie committed Apr 17, 2024
1 parent c641c1f commit 4928a83
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions lib/vdsm/storage/storageServer.py
Original file line number Diff line number Diff line change
Expand Up @@ -382,14 +382,23 @@ def _get_backup_servers_option(self):
return "backup-volfile-servers=" + ":".join(servers)

def _get_gluster_volinfo(self):
superVdsmProxy = supervdsm.getProxy()
try:
superVdsmProxy = supervdsm.getProxy()
volinfo = superVdsmProxy.glusterVolumeInfo(self._volname,
self._volfileserver)
return volinfo[self._volname]
except ge.GlusterCmdExecFailedException as e:
except ge.GlusterException as e:
log.warning("Failed to get volume info: %s", e)
return {}
try:
if "backup-volfile-servers" in self._options:
log.warning(
"Trying to get volume info through backup servers: %s", self._options)
volinfo = superVdsmProxy.glusterVolumeInfo(self._volname)
return volinfo[self._volname]
except ge.GlusterException as e2:
log.warning(
"Failed to get volume info from backup servers: %s", e2)
return {}


class NFSConnection(Connection):
Expand Down

0 comments on commit 4928a83

Please sign in to comment.