On Thu, Dec 5, 2013 at 1:30 PM, Thomas Thrainer <[email protected]> wrote: > The point is that most probably multiple hypervisors will expect the same > URI, as they are pretty standard. With one method it's easy to just return > the same URI for all of them.
Let's worry about that once Gluster gets support from more than just KVM :) > What's about the other IP's further down? Those were copy-pasted from the "KVM documentation" of this feature [0] as much as possible in order to test for correctness. But I guess we can feel daring and fix those, too. I tried to simplify things a little to boot. [0]: https://github.com/qemu/qemu/commit/8d6d8 diff --git a/test/py/ganeti.storage.gluster_unittest.py b/test/py/ganeti.storage.gluster_unittest.py index 0c47e13..2037eac 100644 --- a/test/py/ganeti.storage.gluster_unittest.py +++ b/test/py/ganeti.storage.gluster_unittest.py @@ -35,21 +35,19 @@ import testutils class TestGlusterVolume(testutils.GanetiTestCase): + testAddrIpv = {4: "203.0.113.42", + 6: "2001:DB8::74:65:28:6:69", + } + @staticmethod - def _MakeVolume(ipv=4, addr=None, port=9001, + def _MakeVolume(addr=None, port=9001, run_cmd=NotImplemented, vol_name="pinky"): - address = {4: "203.0.113.42", - 6: "2001:DB8::74:65:28:6:69", - } + addr = addr if addr is not None else TestGlusterVolume.testAddrIpv[4] - return gluster.GlusterVolume(address[ipv] if not addr else addr, - port, - str(vol_name), - _run_cmd=run_cmd, - _mount_point="/invalid" - ) + return gluster.GlusterVolume(addr, port, vol_name, _run_cmd=run_cmd, + _mount_point="/invalid") def setUp(self): testutils.GanetiTestCase.setUp(self) @@ -78,43 +76,55 @@ class TestGlusterVolume(testutils.GanetiTestCase): # within the limits of our implementation (no transport specification, # no default port version). - vol_1 = TestGlusterVolume._MakeVolume(addr="1.2.3.4", - port=24007, - vol_name="testvol") - self.assertEqual(vol_1.GetKVMMountString("dir/a.img"), - "gluster://1.2.3.4:24007/testvol/dir/a.img") - - vol_2 = TestGlusterVolume._MakeVolume(addr="1:2:3:4:5::8", - port=24007, - vol_name="testvol") - self.assertEqual(vol_2.GetKVMMountString("dir/a.img"), - "gluster://[1:2:3:4:5::8]:24007/testvol/dir/a.img") + vol_1 = TestGlusterVolume._MakeVolume(addr=TestGlusterVolume.testAddrIpv[4], + port=24007, + vol_name="testvol") + self.assertEqual( + vol_1.GetKVMMountString("dir/a.img"), + "gluster://203.0.113.42:24007/testvol/dir/a.img" + ) + + vol_2 = TestGlusterVolume._MakeVolume(addr=TestGlusterVolume.testAddrIpv[6], + port=24007, + vol_name="testvol") + self.assertEqual( + vol_2.GetKVMMountString("dir/a.img"), + "gluster://[2001:db8:0:74:65:28:6:69]:24007/testvol/dir/a.img" + ) vol_3 = TestGlusterVolume._MakeVolume(addr="localhost", - port=9001, - vol_name="testvol") - self.assertEqual(vol_3.GetKVMMountString("dir/a.img"), - "gluster://127.0.0.1:9001/testvol/dir/a.img") + port=9001, + vol_name="testvol") + self.assertEqual( + vol_3.GetKVMMountString("dir/a.img"), + "gluster://127.0.0.1:9001/testvol/dir/a.img" + ) def testFUSEMountStrings(self): - vol_1 = TestGlusterVolume._MakeVolume(addr="1.2.3.4", - port=24007, - vol_name="testvol") - self.assertEqual(vol_1._GetFUSEMountString(), - "1.2.3.4:24007:testvol") - - vol_2 = TestGlusterVolume._MakeVolume(addr="1:2:3:4:5::8", - port=24007, - vol_name="testvol") + vol_1 = TestGlusterVolume._MakeVolume(addr=TestGlusterVolume.testAddrIpv[4], + port=24007, + vol_name="testvol") + self.assertEqual( + vol_1._GetFUSEMountString(), + "203.0.113.42:24007:testvol" + ) + + vol_2 = TestGlusterVolume._MakeVolume(addr=TestGlusterVolume.testAddrIpv[6], + port=24007, + vol_name="testvol") # This _ought_ to work. https://bugzilla.redhat.com/show_bug.cgi?id=764188 - self.assertEqual(vol_2._GetFUSEMountString(), - "1:2:3:4:5::8:24007:testvol") + self.assertEqual( + vol_2._GetFUSEMountString(), + "2001:db8:0:74:65:28:6:69:24007:testvol" + ) vol_3 = TestGlusterVolume._MakeVolume(addr="localhost", - port=9001, - vol_name="testvol") - self.assertEqual(vol_3._GetFUSEMountString(), - "127.0.0.1:9001:testvol") + port=9001, + vol_name="testvol") + self.assertEqual( + vol_3._GetFUSEMountString(), + "127.0.0.1:9001:testvol" + ) if __name__ == "__main__": -- Raffa Santi Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
