<div dir="ltr"><div><div><span style="font-family:courier new,monospace">Hi,<br>  I was trying to enable quota on a volume thats usign SSL based auth as below :<br><br>[root@scratchpad-vm ssl]# gluster v i gv1<br> <br>Volume Name: gv1<br>Type: Distribute<br>Volume ID: 7ad201b6-6e20-4065-b1c1-5b459f41604e<br>Status: Started<br>Number of Bricks: 1<br>Transport-type: tcp<br>Bricks:<br>Brick1: scratchpad-vm:/bricks/gv1-brick0<br>Options Reconfigured:<br>auth.ssl-allow: TheServer<br>features.quota: on<br>server.ssl: on<br>client.ssl: on<br>snap-max-hard-limit: 256<br>snap-max-soft-limit: 90<br>auto-delete: disable<br><br>[root@scratchpad-vm ssl]# gluster volume quota gv1 limit-usage / 2GB<br>quota command failed : Failed to find the directory /var/run/gluster/gv1/. Reason : Transport endpoint is not connected<br>[root@scratchpad-vm ssl]#<br><br>It looks like this doesn&#39;t work as quota tries to create a temp mount which fails hence the above error. quota acts as a local client for glusterd (IIUC) and since we have the gluster volume enabled for SSL it fails the mount hence limit-usage fails.<br><br>In general when i tried to do a local mount with ssl enabled, it failed for me too.. not sure if this is supposed to work as both client and server look at the same /etc/ssl/ keys/certs<br><br>[root@scratchpad-vm bricks]# mount -t glusterfs localhost:/gv1 /mnt<br>WARNING: getfattr not found, certain checks will be skipped..<br>Mount failed. Please check the log file for more details.<br><br>[2014-09-19 12:22:31.260095] I [MSGID: 100030] [glusterfsd.c:2021:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.7dev (args: /usr/sbin/glusterfs --volfile-server=localhost --volfile-id=/gv1 /mnt)<br>[2014-09-19 12:22:31.281189] I [dht-shared.c:334:dht_init_regex] 0-gv1-dht: using regex rsync-hash-regex = ^\.(.+)\.[^.]+$<br>[2014-09-19 12:22:31.281694] I [socket.c:3698:socket_init] 0-gv1-client-0: SSL support on the I/O path is ENABLED<br>[2014-09-19 12:22:31.281707] I [socket.c:3718:socket_init] 0-gv1-client-0: using private polling thread<br>[2014-09-19 12:22:31.283522] I [client.c:2280:notify] 0-gv1-client-0: parent translators are ready, attempting connect on transport<br>Final graph:<br>+------------------------------------------------------------------------------+<br>  1: volume gv1-client-0<br>  2:     type protocol/client<br>  3:     option ping-timeout 42<br>  4:     option remote-host scratchpad-vm<br>  5:     option remote-subvolume /bricks/gv1-brick0<br>  6:     option transport-type socket<br>  7:     option username f14d0690-30cd-4be6-a4b3-eee5359a7180<br>  8:     option password 5486f372-be3f-415a-8b46-0b952c427bbf<br>  9:     option transport.socket.ssl-enabled on<br> 10:     option send-gids true<br> 11: end-volume<br> 12:<br> 13: volume gv1-dht<br> 14:     type cluster/distribute<br> 15:     subvolumes gv1-client-0<br> 16: end-volume<br> 17:<br> 18: volume gv1-write-behind<br> 19:     type performance/write-behind<br> 20:     subvolumes gv1-dht<br> 21: end-volume<br> 22:<br> 23: volume gv1-read-ahead<br> 24:     type performance/read-ahead<br> 25:     subvolumes gv1-write-behind<br> 26: end-volume<br> 27:<br> 28: volume gv1-io-cache<br> 29:     type performance/io-cache<br> 30:     subvolumes gv1-read-ahead<br> 31: end-volume<br> 32:<br> 33: volume gv1-quick-read<br> 34:     type performance/quick-read<br> 35:     subvolumes gv1-io-cache<br> 36: end-volume<br> 37:<br> 38: volume gv1-open-behind<br> 39:     type performance/open-behind<br> 40:     subvolumes gv1-quick-read<br> 41: end-volume<br> 42:<br> 43: volume gv1-md-cache<br> 44:     type performance/md-cache<br> 45:     subvolumes gv1-open-behind<br> 46: end-volume<br> 47:<br> 48: volume gv1<br> 49:     type debug/io-stats<br> 50:     option latency-measurement off<br> 51:     option count-fop-hits off<br> 52:     subvolumes gv1-md-cache<br> 53: end-volume<br> 54:<br> 55: volume meta-autoload<br> 56:     type meta<br> 57:     subvolumes gv1<br> 58: end-volume<br> 59:<br>+------------------------------------------------------------------------------+<br>[2014-09-19 12:22:31.294407] I [rpc-clnt.c:1765:rpc_clnt_reconfig] 0-gv1-client-0: changing port to 49153 (from 0)<br>[2014-09-19 12:22:31.583691] E [socket.c:304:ssl_setup_connection] 0-gv1-client-0: SSL connect error<br>[2014-09-19 12:22:31.583728] E [socket.c:2282:socket_poller] 0-gv1-client-0: client setup failed<br>[2014-09-19 12:22:31.587481] I [fuse-bridge.c:5041:fuse_graph_setup] 0-fuse: switched to graph 0<br>[2014-09-19 12:22:31.587673] I [fuse-bridge.c:3970:fuse_init] 0-glusterfs-fuse: FUSE inited with protocol versions: glusterfs 7.22 kernel 7.22<br>[2014-09-19 12:22:31.587860] W [fuse-bridge.c:759:fuse_attr_cbk] 0-glusterfs-fuse: 2: LOOKUP() / =&gt; -1 (Transport endpoint is not connected)<br>[2014-09-19 12:22:31.591950] I [fuse-bridge.c:4882:fuse_thread_proc] 0-fuse: unmounting /mnt<br>[2014-09-19 12:22:31.592133] W [glusterfsd.c:1197:cleanup_and_exit] (--&gt; 0-: received signum (15), shutting down<br>[2014-09-19 12:22:31.592146] I [fuse-bridge.c:5560:fini] 0-fuse: Unmounting &#39;/mnt&#39;.<br><br><br>[root@scratchpad-vm ssl]# pwd<br>/etc/ssl<br>[root@scratchpad-vm ssl]# ls -l<br>total 28<br>lrwxrwxrwx. 1 root root   16 Dec 12  2013 certs -&gt; ../pki/tls/certs<br>-rw-r--r--. 1 root root  550 Sep  9 14:18 client2.csr<br>-rw-r--r--. 1 root root  623 Sep  9 14:19 client2.pem<br>-rw-r--r--. 1 root root  891 Sep  9 14:18 client.key<br>-rw-r--r--. 1 root root 1482 Sep 19 12:22 <a href="http://everyone.ca">everyone.ca</a><br>lrwxrwxrwx. 1 root root   13 Jul 25 09:38 <a href="http://glusterfs.ca">glusterfs.ca</a> -&gt; ./<a href="http://everyone.ca">everyone.ca</a><br>lrwxrwxrwx. 1 root root   12 Jul 25 09:38 glusterfs.key -&gt; ./server.key<br>lrwxrwxrwx. 1 root root   12 Jul 25 09:38 glusterfs.pem -&gt; ./server.pem<br>-rw-r--r--. 1 root root  887 Sep  9 14:17 server.key<br>-rw-r--r--. 1 root root  741 Sep  9 14:17 server.pem<br>-rw-r--r--. 1 root root    3 Sep  9 14:19 server.srl<br><br>[root@scratchpad-vm ssl]# openssl x509 -text -in ./glusterfs.pem -noout<br>Certificate:<br>    Data:<br>        Version: 3 (0x2)<br>        Serial Number: 12206605644881992844 (0xa966932920781c8c)<br>    Signature Algorithm: sha1WithRSAEncryption<br>        Issuer: CN=TheServer<br>        Validity<br>            Not Before: Sep  9 14:17:45 2014 GMT<br>            Not After : Oct  9 14:17:45 2014 GMT<br>        Subject: CN=TheServer<br>        Subject Public Key Info:<br>            Public Key Algorithm: rsaEncryption<br>                Public-Key: (1024 bit)<br>                Modulus:<br>                    00:d7:07:7b:10:83:6a:70:af:7b:05:33:60:94:40:<br>                    80:07:ae:4d:a5:90:8e:fa:93:36:55:dc:95:03:5d:<br>                    47:a3:bb:fc:52:1c:a1:24:77:ac:56:89:29:1f:bd:<br>                    06:a8:80:06:ff:05:9e:ce:d6:c6:52:1b:0d:a8:fc:<br>                    73:20:36:31:2d:4c:f5:48:58:40:a4:ff:61:93:f0:<br>                    a5:90:06:8a:b9:f5:3c:dd:dc:d3:72:e8:45:dc:3f:<br>                    d9:0b:19:e6:a5:12:58:0c:e2:80:be:f1:e8:5e:a5:<br>                    90:66:33:aa:84:0e:20:28:21:06:f4:6e:ce:f3:99:<br>                    5b:0a:48:fd:2a:79:8e:82:cb<br>                Exponent: 65537 (0x10001)<br>        X509v3 extensions:<br>            X509v3 Subject Key Identifier: <br>                6D:2A:61:77:DE:21:A0:26:C5:F4:5F:7E:A7:B8:23:39:34:D5:76:11<br>            X509v3 Authority Key Identifier: <br>                keyid:6D:2A:61:77:DE:21:A0:26:C5:F4:5F:7E:A7:B8:23:39:34:D5:76:11<br><br>            X509v3 Basic Constraints: <br>                CA:TRUE<br>    Signature Algorithm: sha1WithRSAEncryption<br>         0b:86:fc:a6:04:33:00:3e:e7:0d:4e:60:dd:11:b0:b6:e1:43:<br>         3a:59:a7:9e:9f:c0:99:88:6e:35:4b:82:74:d5:12:5a:80:e0:<br>         9b:f1:db:da:44:b9:a2:ff:c5:bc:86:0f:96:af:4c:98:25:79:<br>         aa:5f:a5:a5:ab:e2:74:87:e7:be:17:c5:1a:f7:e0:e6:39:ea:<br>         d3:1f:6f:dc:cd:df:0f:b5:cd:ea:71:ee:f2:71:93:69:a7:8d:<br>         52:5b:4b:9f:b1:9c:87:d3:5d:e5:ee:2c:e7:36:80:83:6b:59:<br>         94:07:12:14:6c:ef:fb:c4:ca:7e:56:11:9a:52:9d:53:dc:c2:<br>         d7:8d<br><br></span></div><span style="font-family:courier new,monospace">I copied glusterfs.pem into <a href="http://everyone.ca">everyone.ca</a> so both client and server should use the same certs for mutual auth<br>but the local mount still fails as above. The rationale being if local mount works, quota also should work!<br><br></span></div><span style="font-family:courier new,monospace">Another perspective here is whether it makes sense for a entity like quota to even honor ssl , since its already<br>in the trusted storage pool, it should be able to do a mount irrespective of ssl being set or not.<br></span><div><div><span style="font-family:courier new,monospace"><br>Thoughts ?<br>Let me know if anythign more is needed for debug<br><br>thanx,<br>deepak</span></div></div></div>