group_replayer can fetch remote_mirror_uuid as remote_pool_meta.mirror_uuid
>>> gc = rbd.Group(ioctx, 'test_group')
>>> print(gc.group_snap_get_mirror_namespace('
104b430672cf'))
{'state': 2, 'mirror_peer_uuids': [],
'primary_mirror_uuid': '
6cd393ad-c21d-42e6-a404-
0dabf596bfe7',
'primary_snap_id': '
104b430672cf'}
Thanks to Ilya for highlighting the issue.
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
 
 
   m_replayer = group_replayer::Replayer<I>::create(
     m_threads, m_local_io_ctx, m_remote_group_peer.io_ctx, m_global_group_id,
-    m_local_mirror_uuid, m_remote_group_peer.uuid, m_pool_meta_cache,
-    m_local_group_id, m_remote_group_id, &m_local_group_ctx, &m_image_replayers);
+    m_local_mirror_uuid, m_pool_meta_cache, m_local_group_id, m_remote_group_id,
+    &m_local_group_ctx, &m_image_replayers);
 
   m_replayer->init(ctx);
 }
 
     librados::IoCtx &remote_io_ctx,
     const std::string &global_group_id,
     const std::string& local_mirror_uuid,
-    const std::string& remote_mirror_uuid,
     PoolMetaCache* pool_meta_cache,
     std::string local_group_id,
     std::string remote_group_id,
     m_remote_io_ctx(remote_io_ctx),
     m_global_group_id(global_group_id),
     m_local_mirror_uuid(local_mirror_uuid),
-    m_remote_mirror_uuid(remote_mirror_uuid),
     m_pool_meta_cache(pool_meta_cache),
     m_local_group_id(local_group_id),
     m_remote_group_id(remote_group_id),
     return;
   }
 
+  m_remote_mirror_uuid = remote_pool_meta.mirror_uuid;
   m_remote_mirror_peer_uuid = remote_pool_meta.mirror_peer_uuid;
-  dout(10) << "remote_mirror_peer_uuid=" << m_remote_mirror_peer_uuid << dendl;
+  dout(10) << "remote_mirror_uuid=" << m_remote_mirror_uuid
+           << ", remote_mirror_peer_uuid=" << m_remote_mirror_peer_uuid << dendl;
 
   on_finish->complete(0);
   load_local_group_snapshots();
 
       librados::IoCtx &remote_io_ctx,
       const std::string &global_group_id,
       const std::string& local_mirror_uuid,
-      const std::string& remote_mirror_uuid,
       PoolMetaCache* pool_meta_cache,
       std::string local_group_id,
       std::string remote_group_id,
       GroupCtx *local_group_ctx,
       std::list<std::pair<librados::IoCtx, ImageReplayer<ImageCtxT> *>> *image_replayers) {
     return new Replayer(threads, local_io_ctx, remote_io_ctx, global_group_id,
-        local_mirror_uuid, remote_mirror_uuid, pool_meta_cache, local_group_id,
-        remote_group_id, local_group_ctx, image_replayers);
+        local_mirror_uuid, pool_meta_cache, local_group_id, remote_group_id,
+        local_group_ctx, image_replayers);
   }
 
   Replayer(
       librados::IoCtx &remote_io_ctx,
       const std::string &global_group_id,
       const std::string& local_mirror_uuid,
-      const std::string& remote_mirror_uuid,
       PoolMetaCache* pool_meta_cache,
       std::string local_group_id,
       std::string remote_group_id,