Esempio n. 1
0
    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
Esempio n. 2
0
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
Esempio n. 3
0
    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")
Esempio n. 4
0
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()
Esempio n. 5
0
 def getGfapi(self, volume):
     return gfapi.Volume(volume.volServer, volume.volumeName)
Esempio n. 6
0
#! /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()
Esempio n. 7
0
 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()