]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: allow users to specify the osd heartbeat server address.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 10 Apr 2012 23:11:52 +0000 (16:11 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 10 Apr 2012 23:11:52 +0000 (16:11 -0700)
Reported-by: Nick Bartos <nick@pistoncloud.com>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Reviewed-by: Sage Weil <sage.weil@dreamhost.com>
src/ceph_osd.cc
src/common/config_opts.h

index 6dc6c6d39dd4db9132ff76e9f9a6ba8f9d63b56f..9c58ec3a791f646630b3e993961257952d591aca 100644 (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);
index 216feb6b89ae198ba209cb475639065619c41a55..5a46002089e62ac3b22319c48751b11a0112c902 100644 (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