osd/OSDMap: new_up_internal -> new_up_cluster

Signed-off-by: Sage Weil <sage@inktank.com>
osd/OSDMap: new_hb_up -> new_hb_back_up

Signed-off-by: Sage Weil <sage@inktank.com>
osd/OSDMap: hb_addr -> hb_back_addr

Signed-off-by: Sage Weil <sage@inktank.com>
osd: create front and back hb messenger instances

The hb_front messenger is not used yet.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: send hb front addr to monitor at boot

We still aren't binding it to anything yet, or putting it in the OSDMap.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/OSDMap: encode front heartbeat addr

Signed-off-by: Sage Weil <sage@inktank.com>
mon: set front hb addr in osdmap on osd boot

Signed-off-by: Sage Weil <sage@inktank.com>
osd: bind front heartbeat messenger to public_addr

Signed-off-by: Sage Weil <sage@inktank.com>
msgr: take an arbitrary set of ports to avoid binding to

We used to only need to avoid 2 ports; now we need 3.  Make it a set so we
don't have this problem later.

Signed-off-by: Sage Weil <sage@inktank.com>
msgr: add Messenger reference to Connection

This allows us to get the messenger associated with a connection.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: ping both front and back interfaces

Send ping requests to both the front and back hb addrs for peer osds.  If
the front hb addr is not present, do not send it and interpret a reply
as coming from both.  This handles the transition from old to new OSDs
seamlessly.

Note both the front and back rx times.  Both need to be up to date in order
for the peer to be healthy.

Signed-off-by: Sage Weil <sage@inktank.com>