Change in vdsm[master]: gluster: Get size information of a gluster volume

avishwan at redhat.com avishwan at redhat.com
Mon Aug 26 07:24:53 UTC 2013


Aravinda VK has posted comments on this change.

Change subject: gluster: Get size information of a gluster volume
......................................................................


Patch Set 5:

(9 comments)

To refresh Volume Size info in ovirt engine UI, engine may query VDSM verb number of times. Mounting GlusterFS volumes every time may be overhead when compared to libgfapi usage.

....................................................
File client/vdsClientGluster.py
Line 715:               'Returns status of all gluster services if serviceName is '
Line 716:               'not set'
Line 717:               '(swift, glusterd, smb, memcached)'
Line 718:               )),
Line 719:          'glusterVolumeSizeInfoGet': (
Done
Line 720:              serv.do_glusterVolumeSizeInfoGet,
Line 721:              ('volumeName=<volume name> [humanReadable=<yes|no>]',
Line 722:               'Returns total, free and used space(bytes) of gluster volume'
Line 723:               )),


Line 719:          'glusterVolumeSizeInfoGet': (
Line 720:              serv.do_glusterVolumeSizeInfoGet,
Line 721:              ('volumeName=<volume name> [humanReadable=<yes|no>]',
Line 722:               'Returns total, free and used space(bytes) of gluster volume'
Line 723:               )),
Done


....................................................
File vdsm.spec.in
Line 1271: %dir %{_datadir}/%{vdsm_name}/gluster
Line 1272: %doc COPYING
Line 1273: %{_datadir}/%{vdsm_name}/gluster/api.py*
Line 1274: %{_datadir}/%{vdsm_name}/gluster/vdsmapi-gluster-schema.json
Line 1275: %{_datadir}/%{vdsm_name}/gluster/gfapi.py*
Full support for libgfapi is not planned from our team as of now. Current plan is to show volume stats in ovirt engine UI.
Line 1276: %{_datadir}/%{vdsm_name}/gluster/hooks.py*
Line 1277: %{_datadir}/%{vdsm_name}/gluster/services.py*
Line 1278: %endif
Line 1279: 


....................................................
File vdsm/gluster/api.py
Line 289:         return {'services': status}
Line 290: 
Line 291:     @exportAsVerb
Line 292:     def volumeSizeInfoGet(self, volumeName, human_readable=False,
Line 293:                           options=None):
Done
Line 294:         """
Line 295:         f_blocks = Total number of blocks
Line 296:         f_bfree = Total number of blocks free
Line 297:         f_bavail = Total number of blocks available for non root user


Line 293:                           options=None):
Line 294:         """
Line 295:         f_blocks = Total number of blocks
Line 296:         f_bfree = Total number of blocks free
Line 297:         f_bavail = Total number of blocks available for non root user
As per http://docs.python.org/2/library/statvfs.html

Will update the comment with more description.
Line 298:         total blocks available = f_blocks - (f_bfree - f_bavail)
Line 299: 
Line 300:         @returns {
Line 301:         'total': TOTALBYTES,


Line 312:             total = formatVolumeSizeHumanReadable(total)
Line 313:             free = formatVolumeSizeHumanReadable(free)
Line 314:             used = formatVolumeSizeHumanReadable(used)
Line 315: 
Line 316:         return {'total': str(total), 'free': str(free), 'used': str(used)}
Will update the @return
Line 317: 
Line 318: 
Line 319: def getGlusterMethods(gluster):
Line 320:     l = []


....................................................
File vdsm/gluster/gfapi.py
Line 24: import exception as ge
Line 25: from . import makePublic
Line 26: 
Line 27: 
Line 28: GLUSTER_VOL_PROTOCAL = 'tcp'
Done
Line 29: GLUSTER_VOL_HOST = 'localhost'
Line 30: GLUSTER_VOL_PORT = 24007
Line 31: GLUSTER_VOL_PATH = "/"
Line 32: _api = None


Line 25: from . import makePublic
Line 26: 
Line 27: 
Line 28: GLUSTER_VOL_PROTOCAL = 'tcp'
Line 29: GLUSTER_VOL_HOST = 'localhost'
I will add protocal and host as optional parameter to vdsm verb.
Line 30: GLUSTER_VOL_PORT = 24007
Line 31: GLUSTER_VOL_PATH = "/"
Line 32: _api = None
Line 33: 


Line 61:     return
Line 62: 
Line 63: 
Line 64: def _volumeMount(volumeId):
Line 65:     fs = _api.glfs_new(volumeId)
Done
Line 66:     _api.glfs_set_volfile_server(fs,
Line 67:                                  GLUSTER_VOL_PROTOCAL,
Line 68:                                  GLUSTER_VOL_HOST,
Line 69:                                  GLUSTER_VOL_PORT)


-- 
To view, visit http://gerrit.ovirt.org/17822
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I358d4f3bf793ecc1a01e0592d68919d1405f6e19
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Aravinda VK <avishwan at redhat.com>
Gerrit-Reviewer: Aravinda VK <avishwan at redhat.com>
Gerrit-Reviewer: Bala.FA <barumuga at redhat.com>
Gerrit-Reviewer: Deepak C Shetty <deepakcs at linux.vnet.ibm.com>
Gerrit-Reviewer: Timothy Asir <tjeyasin at redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes


More information about the vdsm-patches mailing list