On 01/21/2015 10:40 AM, Dimitris Bliablias wrote:
Hi Hrvoje,
On 01/20/2015 11:57 PM, Hrvoje Ribicic wrote:
LGTM. The Gluster change needed to support this was introduced in
2009, and seems to be present in distributions as old as Squeeze.
Do you have anything against me pushing it to 2.10 instead of master?
It applies cleanly and passes QA.
No, that's the only one.
Thanks,
Dimitris
Sorry, misread. Feel free to push it to 2.10.
Thanks,
Dimitris
On Mon, Jan 5, 2015 at 4:09 PM, Dimitris Bliablias
<[email protected] <mailto:[email protected]>>wrote:
Currently, the Gluster server port is included in the volume path,
i.e., <host>:<port>:<volumeid>, but the mount.glusterfs script
requires
to explicitly specify the server port using the '-o server-port=port'
option. This would cause the port setting to be ignored and a
default of
24007 to be used when using glusterfs versions later than 3.3.0 with
Ganeti, while for newer versions glusterfs mount fails.
This patch modifies '_GetFUSEMountString' method to generate the
correct
argument string for the mount.glusterfs script. Also, it updates the
'ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>' unit test to
correspond to the new
changes.
This fixes issue #984.
Signed-off-by: Dimitris Bliablias <[email protected]
<mailto:[email protected]>>
---
lib/storage/gluster.py | 4 ++--
test/py/ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>| 7 ++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/lib/storage/gluster.py b/lib/storage/gluster.py
index eb6d950..656474f 100644
--- a/lib/storage/gluster.py
+++ b/lib/storage/gluster.py
@@ -192,8 +192,8 @@ class GlusterVolume(object):
@rtype: str
"""
- return "{ip}:{port}:{volume}" \
- .format(ip=self.server_ip, port=self.port,
volume=self.volume)
+ return "-o server-port={port} {ip}:/{volume}" \
+ .format(port=self.port, ip=self.server_ip,
volume=self.volume)
def GetKVMMountString(self, path):
"""Return the string KVM needs to use this volume.
diff --git a/test/py/ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>b/test/py/ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>
index 40e3031..b75bf6d 100644
--- a/test/py/ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>
+++ b/test/py/ganeti.storage.gluster_unittest.py
<http://ganeti.storage.gluster_unittest.py>
@@ -119,7 +119,7 @@ class
TestGlusterVolume(testutils.GanetiTestCase):
vol_name="testvol")
self.assertEqual(
vol_1._GetFUSEMountString(),
- "203.0.113.42:24007:testvol"
+ "-o server-port=24007 203.0.113.42:/testvol"
)
vol_2 =
TestGlusterVolume._MakeVolume(addr=TestGlusterVolume.testAddrIpv[6],
@@ -128,7 +128,7 @@ class
TestGlusterVolume(testutils.GanetiTestCase):
# This _ought_ to work.
https://bugzilla.redhat.com/show_bug.cgi?id=764188
self.assertEqual(
vol_2._GetFUSEMountString(),
- "2001:db8:0:74:65:28:6:69:24007:testvol"
+ "-o server-port=24007 2001:db8:0:74:65:28:6:69:/testvol"
)
vol_3 = TestGlusterVolume._MakeVolume(addr="localhost",
@@ -136,7 +136,8 @@ class
TestGlusterVolume(testutils.GanetiTestCase):
vol_name="testvol")
fuseMountString = vol_3._GetFUSEMountString()
self.assertTrue(fuseMountString in
- ["127.0.0.1:9001:testvol", "::1:9001:testvol"],
+ ["-o server-port=9001 127.0.0.1:/testvol",
+ "-o server-port=9001 ::1:/testvol"],
msg="%s not testvol on localhost:9001" %
(fuseMountString,))
--
1.7.10.4
Hrvoje Ribicic
Ganeti Engineering
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
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370