From 9e9e3c5620882d2f769694996ff4d7e0cf36cc2b Mon Sep 17 00:00:00 2001 From: raghavendra talur Date: Thu, 20 Aug 2015 15:09:31 +0530 Subject: Create basic directory structure All new features specs go into in_progress directory. Once signed off, it should be moved to done directory. For now, This change moves all the Gluster 4.0 feature specs to in_progress. All other specs are under done/release-version. More cleanup required will be done incrementally. Change-Id: Id272d301ba8c434cbf7a9a966ceba05fe63b230d BUG: 1206539 Signed-off-by: Raghavendra Talur Reviewed-on: http://review.gluster.org/11969 Reviewed-by: Humble Devassy Chirammal Reviewed-by: Prashanth Pai Tested-by: Humble Devassy Chirammal --- done/GlusterFS 3.6/Better Peer Identification.md | 172 +++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 done/GlusterFS 3.6/Better Peer Identification.md (limited to 'done/GlusterFS 3.6/Better Peer Identification.md') diff --git a/done/GlusterFS 3.6/Better Peer Identification.md b/done/GlusterFS 3.6/Better Peer Identification.md new file mode 100644 index 0000000..a8c6996 --- /dev/null +++ b/done/GlusterFS 3.6/Better Peer Identification.md @@ -0,0 +1,172 @@ +Feature +------- + +**Better peer identification** + +Summary +------- + +This proposal is regarding better identification of peers. + +Owners +------ + +Kaushal Madappa + +Current status +-------------- + +Glusterd currently is inconsistent in the way it identifies peers. This +causes problems when the same peer is referenced with different names in +different gluster commands. + +Detailed Description +-------------------- + +Currently, the way we identify peers is not consistent all through the +gluster code. We use uuids internally and hostnames externally. + +This setup works pretty well when all the peers are on a single network, +have one address, and are referred to in all the gluster commands with +same address. + +But once we start mixing up addresses in the commands (ip, shortnames, +fqdn) and bring in multiple networks we have problems. + +The problems were discussed in the following mailing list threads and +some solutions were proposed. + +- How do we identify peers? [^1] +- RFC - "Connection Groups" concept [^2] + +The solution to the multi-network problem is dependent on the solution +to the peer identification problem. So it'll be good to target fixing +the peer identification problem asap, ie. in 3.6, and take up the +networks problem later. + +Benefit to GlusterFS +-------------------- + +Sanity. It will be great to have all internal identifiers for peers +happening through a UUID, and being translated into a host/IP at the +most superficial layer. + +Scope +----- + +### Nature of proposed change + +The following changes will be done in Glusterd to improve peer +identification. + +1. Peerinfo struct will be extended to have a list of associated + hostnames/addresses, instead of a single hostname as it is + currently. The import/export and store/restore functions will be + changed to handle this. CLI will be updated to show this list of + addresses in peer status and pool list commands. +2. Peer probe will be changed to append an address to the peerinfo + address list, when we observe that the given address belongs to an + existing peer. +3. Have a new API for translation between hostname/addresses into + UUIDs. This new API will be used in all places where + hostnames/addresses were being validated, including peer probe, peer + detach, volume create, add-brick, remove-brick etc. +4. A new command - 'gluster peer add-address ' + - which appends to the address list will be implemented if time + permits. +5. A new command - 'gluster peer rename ' - which will + rename all occurrences of a peer with the newly given name will be + implemented if time permits. + +Changes 1-3 are the base for the other changes and will the primary +deliverables for this feature. + +### Implications on manageability + +The primary changes will bring about some changes to the CLI output of +'peer status' and 'pool list' commands. The normal and XML outputs for +these commands will contain a list of addresses for each peer, instead +of a single hostname. + +Tools depending on the output of these commands will need to be updated. + +**TODO**: *Add sample outputs* + +The new commands 'peer add-address' and 'peer rename' will improve +manageability of peers. + +### Implications on presentation layer + +None + +### Implications on persistence layer + +None + +### Implications on 'GlusterFS' backend + +None + +### Modification to GlusterFS metadata + +None + +### Implications on 'glusterd' + + + +How To Test +----------- + +**TODO:** *Add test cases* + +User Experience +--------------- + +User experience will improve for commands which used peer identifiers +(volume create/add-brick/remove-brick, peer probe, peer detach), as the +the user will no longer face errors caused by mixed usage of +identifiers. + +Dependencies +------------ + +None. + +Documentation +------------- + +The new behaviour of the peer probe command will need to be documented. +The new commands will need to be documented as well. + +**TODO:** *Add more documentations* + +Status +------ + +The feature is under development on forge [^3] and github [^4]. This +github merge request [^5] can be used for performing preliminary +reviews. Once we are satisfied with the changes, it will be posted for +review on gerrit. + +Comments and Discussion +----------------------- + +There are open issues around node crash + re-install with same IP (but +new UUID) which need to be addressed in this effort. + +Links +----- + + + + +[^1]: + +[^2]: + +[^3]: + +[^4]: + +[^5]: -- cgit