{"action":"created","issue":{"url":"https://api.github.com/repos/gluster/glusterfs/issues/391","repository_url":"https://api.github.com/repos/gluster/glusterfs","labels_url":"https://api.github.com/repos/gluster/glusterfs/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/gluster/glusterfs/issues/391/comments","events_url":"https://api.github.com/repos/gluster/glusterfs/issues/391/events","html_url":"https://github.com/gluster/glusterfs/issues/391","id":287714844,"number":391,"title":"Make network infrastructure modular","user":{"login":"xhernandez","id":1781528,"avatar_url":"https://avatars1.githubusercontent.com/u/1781528?v=4","gravatar_id":"","url":"https://api.github.com/users/xhernandez","html_url":"https://github.com/xhernandez","followers_url":"https://api.github.com/users/xhernandez/followers","following_url":"https://api.github.com/users/xhernandez/following{/other_user}","gists_url":"https://api.github.com/users/xhernandez/gists{/gist_id}","starred_url":"https://api.github.com/users/xhernandez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xhernandez/subscriptions","organizations_url":"https://api.github.com/users/xhernandez/orgs","repos_url":"https://api.github.com/users/xhernandez/repos","events_url":"https://api.github.com/users/xhernandez/events{/privacy}","received_events_url":"https://api.github.com/users/xhernandez/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-01-11T09:21:47Z","updated_at":"2018-02-14T19:03:32Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Currently the network implementation of Gluster is almost monolithic and most of the work is made inside the socket implementation, with little separation between layers.\r\n\r\nThe idea would be to make it modular so that we can easily separate transport layers, encoding/decoding layers and protocol layers.\r\n\r\nSome benefits:\r\n\r\n- Seamless integration of IPv4, IPv6, RDMA or any other internetworking method.\r\n- Seamless integration of TCP, UDP or any other transport method.\r\n- Easier implementation of compression and encryption algorithms.\r\n- Easier implementation of XDR or any other encoding/decoding algorithm.\r\n\r\nAdditionally, the modular approach could also include some extra functionalities:\r\n\r\n- Multihomed support\r\n- Multipath support\r\n- Auto discovery support\r\n- Internal node/service address assignment for easier communication between cluster nodes and services.\r\n\r\nProbably there are other enhancements that would be interesting to have. More thoughts are needed about this."},"comment":{"url":"https://api.github.com/repos/gluster/glusterfs/issues/comments/365710819","html_url":"https://github.com/gluster/glusterfs/issues/391#issuecomment-365710819","issue_url":"https://api.github.com/repos/gluster/glusterfs/issues/391","id":365710819,"user":{"login":"amarts","id":624969,"avatar_url":"https://avatars3.githubusercontent.com/u/624969?v=4","gravatar_id":"","url":"https://api.github.com/users/amarts","html_url":"https://github.com/amarts","followers_url":"https://api.github.com/users/amarts/followers","following_url":"https://api.github.com/users/amarts/following{/other_user}","gists_url":"https://api.github.com/users/amarts/gists{/gist_id}","starred_url":"https://api.github.com/users/amarts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amarts/subscriptions","organizations_url":"https://api.github.com/users/amarts/orgs","repos_url":"https://api.github.com/users/amarts/repos","events_url":"https://api.github.com/users/amarts/events{/privacy}","received_events_url":"https://api.github.com/users/amarts/received_events","type":"User","site_admin":false},"created_at":"2018-02-14T19:03:32Z","updated_at":"2018-02-14T19:03:32Z","author_association":"MEMBER","body":"While at it, we should consider using separate library for managing our network layer, and instead of using xdr, can consider protobuf. Also can consider gRPC as a layer.\r\n\r\nI am thinking dropping ibverbs native support unless there are any contributors, but consider IPoIB as the default mode to consume Infiniband.\r\n\r\nAlso, For me, fixing this is a good enough reason to call GlusterFS as GlusterFS 5.0, it is that big of a change overall.\r\n"}}
{"actor":{"display_login":"amarts"}}