https://gluster.readthedocs.io/en/latest/Administrator%20Guide/Resolving%20Peer%20Rejected/ is a hack as evidenced by instruction #6 and the instruction to retry the whole process if it doesn't work. There should be cli command(s) to show why a peer is rejected as well as cli command(s) to repair any fault that causes a peer to be rejected.
Without changing the existing RPCs showing why a peer is rejected can only be done if the peer on which the command is run has rejected a remote peer, not the other way around. As for commands to repair, may be we should resurrect `gluster volume sync`, which should fix rejects caused by sync problems. This might not be able to fix all problems with rejection, but should help the majority. Joe, does this sound acceptable? (Note: We are currently low on developers who can implement this. This RFE might take a long while to get to fruition)
All 3.8.x bugs are now reported against version 3.8 (without .x). For more information, see http://www.gluster.org/pipermail/gluster-devel/2016-September/050859.html
This bug is getting closed because the 3.8 version is marked End-Of-Life. There will be no further updates to this version. Please open a new bug against a version that still receives bugfixes if you are still facing this issue in a more current release.