Just a correction; this applied cleanly to 2.11, not 2.10. Pushed there. On Wed, Jan 21, 2015 at 9:52 AM, Dimitris Bliablias <[email protected]> wrote:
> > 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] > > 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' unit test to correspond to the new >> changes. >> >> This fixes issue #984. >> >> Signed-off-by: Dimitris Bliablias <[email protected]> >> --- >> lib/storage/gluster.py | 4 ++-- >> test/py/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 b/test/py/ >> ganeti.storage.gluster_unittest.py >> index 40e3031..b75bf6d 100644 >> --- a/test/py/ganeti.storage.gluster_unittest.py >> +++ b/test/py/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 > > > > 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
