From: John Spray Date: Mon, 26 Feb 2018 17:11:16 +0000 (+0000) Subject: mgr: die on bind() failure X-Git-Tag: wip-pdonnell-testing-20180317.202121~187^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2dca5b436a21f50fd1ec404ac3197fa48a7b1b49;p=ceph-ci.git mgr: die on bind() failure Previously, the daemon would get wedged if it competed for the same port as another daemon on the same host and lost. Fixes: https://tracker.ceph.com/issues/23037 Signed-off-by: John Spray --- diff --git a/src/mgr/Mgr.cc b/src/mgr/Mgr.cc index 6c92395bcfa..e2b73fdee64 100644 --- a/src/mgr/Mgr.cc +++ b/src/mgr/Mgr.cc @@ -159,8 +159,10 @@ void Mgr::init() // Start communicating with daemons to learn statistics etc int r = server.init(monc->get_global_id(), client_messenger->get_myaddr()); if (r < 0) { - derr << "Initialize server fail"<< dendl; - return; + derr << "Initialize server fail: " << cpp_strerror(r) << dendl; + // This is typically due to a bind() failure, so let's let + // systemd restart us. + exit(1); } dout(4) << "Initialized server at " << server.get_myaddr() << dendl;