]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rbd-mirror: ensure each daemon instance uses a unique service name
authorJason Dillaman <dillaman@redhat.com>
Thu, 30 Nov 2017 01:05:06 +0000 (20:05 -0500)
committerJason Dillaman <dillaman@redhat.com>
Wed, 13 Dec 2017 15:41:00 +0000 (10:41 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/tools/rbd_mirror/ServiceDaemon.cc

index 2f4873912b923eb119ccda0f82bfad191359c8e6..5b8a87ca136a392c9ab6b7a5051d1a95cc1d4f75 100644 (file)
@@ -71,15 +71,15 @@ template <typename I>
 int ServiceDaemon<I>::init() {
   dout(20) << dendl;
 
-  std::string name = m_cct->_conf->name.get_id();
-  if (name.find(RBD_MIRROR_AUTH_ID_PREFIX) == 0) {
-    name = name.substr(RBD_MIRROR_AUTH_ID_PREFIX.size());
+  std::string id = m_cct->_conf->name.get_id();
+  if (id.find(RBD_MIRROR_AUTH_ID_PREFIX) == 0) {
+    id = id.substr(RBD_MIRROR_AUTH_ID_PREFIX.size());
   }
 
+  std::string instance_id = stringify(m_rados->get_instance_id());
   std::map<std::string, std::string> service_metadata = {
-      {"instance_id", stringify(m_rados->get_instance_id())}
-    };
-  int r = m_rados->service_daemon_register("rbd-mirror", name,
+    {"id", id}, {"instance_id", instance_id}};
+  int r = m_rados->service_daemon_register("rbd-mirror", instance_id,
                                            service_metadata);
   if (r < 0) {
     return r;