osd: allow users to specify the osd heartbeat server address.

Reported-by: Nick Bartos <nick@pistoncloud.com>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Reviewed-by: Sage Weil <sage.weil@dreamhost.com>
This commit is contained in:
Greg Farnum 2012-04-10 16:11:52 -07:00
parent 4f030e1b22
commit 6fbac10dc6
2 changed files with 5 additions and 2 deletions

View File

@ -370,9 +370,11 @@ int main(int argc, const char **argv)
exit(1);
// hb should bind to same ip as cluster_addr (if specified)
entity_addr_t hb_addr = g_conf->cluster_addr;
if (!hb_addr.is_blank_ip())
entity_addr_t hb_addr = g_conf->osd_heartbeat_addr;
if (hb_addr.is_blank_ip()) {
hb_addr = g_conf->cluster_addr;
hb_addr.set_port(0);
}
r = messenger_hbserver->bind(hb_addr);
if (r < 0)
exit(1);

View File

@ -283,6 +283,7 @@ OPTION(osd_remove_thread_timeout, OPT_INT, 60*60)
OPTION(osd_command_thread_timeout, OPT_INT, 10*60)
OPTION(osd_age, OPT_FLOAT, .8)
OPTION(osd_age_time, OPT_INT, 0)
OPTION(osd_heartbeat_addr, OPT_ADDR, entity_addr_t())
OPTION(osd_heartbeat_interval, OPT_INT, 6) // (seconds) how often we ping peers
OPTION(osd_heartbeat_grace, OPT_INT, 20) // (seconds) how long before we decide a peer has failed
OPTION(osd_mon_heartbeat_interval, OPT_INT, 30) // (seconds) how often to ping monitor if no peers