def init_gfapi(cls): cls.thread_mutex_lock.acquire() if cls.gf is None: cls.gf = gfapi.Volume('127.0.0.1', cls.dfs_volume) cls.gf.mount() cls.thread_mutex_lock.release() return cls.gf
def get_volume(server_name, volume_name): """Gets the volume from a host. Arguments: server_name {string} -- IP/Hostname of the server. volume_name {string} -- Gluster volume name inside the Host. Returns: [gluster.gfapi.gfapi.Volume] -- Mounted volume from the server. """ volume = gfapi.Volume(server_name, volume_name) volume.mount() return volume
def setUpClass(cls): cls._saved_glfs_new = gluster.gfapi.api.glfs_new gluster.gfapi.api.glfs_new = _mock_glfs_new cls._saved_glfs_set_volfile_server = \ gluster.gfapi.api.glfs_set_volfile_server gluster.gfapi.api.glfs_set_volfile_server = \ _mock_glfs_set_volfile_server cls._saved_glfs_fini = gluster.gfapi.api.glfs_fini gluster.gfapi.api.glfs_fini = _mock_glfs_fini cls._saved_glfs_close = gluster.gfapi.api.glfs_close gluster.gfapi.api.glfs_close = _mock_glfs_close cls._saved_glfs_closedir = gluster.gfapi.api.glfs_closedir gluster.gfapi.api.glfs_closedir = _mock_glfs_closedir cls.vol = gfapi.Volume("mockhost", "test")
def test_doit(): # Create virtual mount volume = gfapi.Volume('172.20.0.2', 'gv0') volume.mount() try: # Create directory volume.mkdir('dir1', 0o755) except: pass # List directories print(volume.listdir('/')) try: # Open and read file with volume.fopen('samefile.txt', 'r') as f: print(f.read()) except: pass try: # Delete file volume.unlink('samefile.txt') except: pass # Create new file and write to it from random import randint for i in range(1000): with volume.fopen('samefile-%d.txt' % i, 'wb+') as f: f.write(b"12345" * 100 * (1 << 10)) # Open and read file #with volume.fopen('samefile.txt', 'r') as f: # print(f.read()) # Unmount the volume volume.umount()
def getGfapi(self, volume): return gfapi.Volume(volume.volServer, volume.volumeName)
#! /usr/bin/python from gluster import gfapi if __name__ == '__main__': bytes = bytearray([5 for i in xrange(2**28)]) vol = gfapi.Volume(host='node150', volname='vol1') ret = vol.mount() with vol.fopen('test.txt', 'w+') as f: f.write(bytes) f.fsync()
def __init__(self): self.volume = gfapi.Volume("192.168.47.151", "gv0") self.volume.mount()
import hashlib from gluster import gfapi import os # Create virtual mount volume = gfapi.Volume('127.0.0.1', 'test') volume.mount() for root, dirs, files in volume.walk("/"): for filen in files: filename = os.path.join(root, filen) sha256_hash = hashlib.sha256() with volume.fopen(filename, "rb") as f: for buf in iter(lambda: f.read(1024), None): sha256_hash.update(buf) print "Hash for file " + filename + " is: " + sha256_hash.hexdigest( ) # Unmount the volume volume.umount()