Example #1
0
def _statvfs_data(vol):
    gvol = Volume("localhost", vol["name"])
    gvol.mount()
    statvfs_data = gvol.statvfs("/")
    gvol.umount()

    data = {
        "volume": vol["name"],
        "status": vol["status"],
        "type": vol["type"],
        "num_bricks": vol["num_bricks"],
        "size": ((statvfs_data.f_blocks -
                  (statvfs_data.f_bfree - statvfs_data.f_bavail)) *
                 statvfs_data.f_bsize),
        "avail": statvfs_data.f_bavail * statvfs_data.f_bsize,
        "itotal": (statvfs_data.f_files -
                   (statvfs_data.f_ffree - statvfs_data.f_favail)),
        "iavail": statvfs_data.f_favail
    }

    data["used"] = data["size"] - data["avail"]
    data["iused"] = data["itotal"] - data["iavail"]
    data["pcent"] = 0
    data["ipcent"] = 0

    if data["size"] > 0:
        data["pcent"] = data["used"] * 100 / data["size"]

    if data["itotal"] > 0:
        data["ipcent"] = data["iused"] * 100 / data["itotal"]

    data['pcent'] = "%s%%" % data['pcent']
    data['ipcent'] = "%s%%" % data['ipcent']

    return data
 def test_mount_umount_success(self):
     v = Volume("host", "vol")
     v.mount()
     self.assertTrue(v.mounted)
     self.assertTrue(v.fs)
     v.umount()
     self.assertFalse(v.mounted)
     self.assertFalse(v.fs)
 def test_mount_umount_success(self):
     v = Volume("host", "vol")
     v.mount()
     self.assertTrue(v.mounted)
     self.assertTrue(v.fs)
     v.umount()
     self.assertFalse(v.mounted)
     self.assertFalse(v.fs)
Example #4
0
 def test_mount_multiple_hosts(self):
     _m_set_vol = Mock(return_value=0)
     with patch("gluster.gfapi.api.glfs_set_volfile_server", _m_set_vol):
         hosts = ["host1", "host2"]
         v = Volume(hosts, "vol")
         v.mount()
         self.assertEqual(_m_set_vol.call_count, len(hosts))
         v.umount()
 def test_unix_socket_mount(self):
     if not os.access(GLUSTERD_SOCK_FILE, os.R_OK | os.W_OK):
         raise SkipTest("Unix socket file %s not accessible" % GLUSTERD_SOCK_FILE)
     vol = Volume(GLUSTERD_SOCK_FILE, VOLNAME, proto="unix")
     vol.mount()
     self.assertTrue(vol.mounted)
     vol.umount()
     self.assertFalse(vol.mounted)
Example #6
0
 def test_mount_multiple_hosts(self):
     _m_set_vol = Mock(return_value=0)
     with patch("gluster.gfapi.api.glfs_set_volfile_server", _m_set_vol):
         hosts = ["host1", "host2"]
         v = Volume(hosts, "vol")
         v.mount()
         self.assertEqual(_m_set_vol.call_count, len(hosts))
         v.umount()
Example #7
0
 def test_unix_socket_mount(self):
     if not os.access(GLUSTERD_SOCK_FILE, os.R_OK | os.W_OK):
         raise SkipTest("Unix socket file %s not accessible" %
                        GLUSTERD_SOCK_FILE)
     vol = Volume(GLUSTERD_SOCK_FILE, VOLNAME, proto="unix")
     vol.mount()
     self.assertTrue(vol.mounted)
     vol.umount()
     self.assertFalse(vol.mounted)
Example #8
0
 def test_get_volume_id(self):
     vol = Volume(HOST, VOLNAME)
     vol.mount()
     self.assertTrue(vol.mounted)
     self.assertTrue(vol.volid == None)
     volid = vol.get_volume_id()
     self.assertTrue(volid != None)
     try:
         volid = uuid.UUID(str(volid))
     except ValueError:
         self.fail("Invalid UUID")
     self.assertTrue(vol.volid != None)
     vol.umount()
 def test_get_volume_id(self):
     vol = Volume(HOST, VOLNAME)
     vol.mount()
     self.assertTrue(vol.mounted)
     self.assertTrue(vol.volid == None)
     volid = vol.get_volume_id()
     self.assertTrue(volid != None)
     try:
         volid = uuid.UUID(str(volid))
     except ValueError:
         self.fail("Invalid UUID")
     self.assertTrue(vol.volid != None)
     vol.umount()
Example #10
0
 def test_set_logging(self):
     # Create volume object instance
     vol = Volume(HOST, VOLNAME)
     # Call set_logging before mount()
     log_file = "/tmp/%s" % (uuid4().hex)
     vol.set_logging(log_file, 7)
     # Mount the volume
     vol.mount()
     self.assertTrue(vol.mounted)
     self.assertEqual(vol.log_file, log_file)
     self.assertEqual(vol.log_level, 7)
     # Check that log has been created and exists
     self.assertTrue(os.path.exists(log_file))
     # Change the logging after mounting
     log_file2 = "/tmp/%s" % (uuid4().hex)
     vol.set_logging(log_file2, 7)
     self.assertEqual(vol.log_file, log_file2)
     # Unmount the volume
     vol.umount()
     self.assertFalse(vol.mounted)
 def test_set_logging(self):
     # Create volume object instance
     vol = Volume(HOST, VOLNAME)
     # Call set_logging before mount()
     log_file = "/tmp/%s" % (uuid4().hex)
     vol.set_logging(log_file, 7)
     # Mount the volume
     vol.mount()
     self.assertTrue(vol.mounted)
     self.assertEqual(vol.log_file, log_file)
     self.assertEqual(vol.log_level, 7)
     # Check that log has been created and exists
     self.assertTrue(os.path.exists(log_file))
     # Change the logging after mounting
     log_file2 = "/tmp/%s" % (uuid4().hex)
     vol.set_logging(log_file2, 7)
     self.assertEqual(vol.log_file, log_file2)
     # Unmount the volume
     vol.umount()
     self.assertFalse(vol.mounted)
Example #12
0
 def test_mount_umount_default(self):
     # Create volume object instance
     vol = Volume(HOST, VOLNAME)
     # Check attribute init
     self.assertEqual(vol.log_file, "/dev/null")
     self.assertEqual(vol.log_level, 7)
     self.assertEqual(vol.hosts[0], HOST)
     self.assertEqual(vol.volname, VOLNAME)
     self.assertEqual(vol.port, 24007)
     self.assertFalse(vol.mounted)
     # Mount the volume
     vol.mount()
     # Check mounted property
     self.assertTrue(vol.mounted)
     # Unmount the volume
     vol.umount()
     # Check mounted property again
     self.assertFalse(vol.mounted)
     # Do a double umount - should not crash or raise exception
     vol.umount()
     self.assertFalse(vol.mounted)
     # Do a double mount - should not crash or raise exception
     vol.mount()
     vol.mount()
     self.assertTrue(vol.mounted)
     # Unmount the volume
     vol.umount()
     self.assertFalse(vol.mounted)
 def test_mount_umount_default(self):
     # Create volume object instance
     vol = Volume(HOST, VOLNAME)
     # Check attribute init
     self.assertEqual(vol.log_file, None)
     self.assertEqual(vol.log_level, 7)
     self.assertEqual(vol.host, HOST)
     self.assertEqual(vol.volname, VOLNAME)
     self.assertEqual(vol.port, 24007)
     self.assertFalse(vol.mounted)
     # Mount the volume
     vol.mount()
     # Check mounted property
     self.assertTrue(vol.mounted)
     # Unmount the volume
     vol.umount()
     # Check mounted property again
     self.assertFalse(vol.mounted)
     # Do a double umount - should not crash or raise exception
     vol.umount()
     self.assertFalse(vol.mounted)
     # Do a double mount - should not crash or raise exception
     vol.mount()
     vol.mount()
     self.assertTrue(vol.mounted)
     # Unmount the volume
     vol.umount()
     self.assertFalse(vol.mounted)
Example #14
0
 def test_unix_socket_mount(self):
     vol = Volume(GLUSTERD_SOCK_FILE, VOLNAME, proto="unix")
     vol.mount()
     self.assertTrue(vol.mounted)
     vol.umount()
     self.assertFalse(vol.mounted)