From 503c05bef8046f7af3abe057c4f9ce4a09c9558f Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Wed, 11 Jun 2025 09:34:30 +0000 Subject: [PATCH] crimson/mon/MonClient: imitate Classic's _check_auth_tickets Imitating this interface from Classicals MonClient::_check_auth_tickets() should make it easier to understand Crimson's counterpart. Signed-off-by: Matan Breizman Signed-off-by: Patrick Donnelly (cherry picked from commit 51fd62a5d6f40fb9f02530d1ee3304085d9942c0) --- src/crimson/mon/MonClient.cc | 22 ++++++++++++---------- src/crimson/mon/MonClient.h | 2 ++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/crimson/mon/MonClient.cc b/src/crimson/mon/MonClient.cc index a96d7a7c188..a98815383de 100644 --- a/src/crimson/mon/MonClient.cc +++ b/src/crimson/mon/MonClient.cc @@ -464,14 +464,22 @@ seastar::future<> Client::load_keyring() } } +seastar::future<> Client::_check_auth_tickets() +{ + return seastar::when_all_succeed( + active_con->renew_tickets(), + active_con->renew_rotating_keyring()).then_unpack([] { + logger().info("_check_auth_tickets: renewed tickets"); + }); +} + void Client::tick() { gates.dispatch_in_background(__func__, *this, [this] { if (active_con) { return seastar::when_all_succeed(wait_for_send_log(), active_con->get_conn()->send_keepalive(), - active_con->renew_tickets(), - active_con->renew_rotating_keyring()).discard_result(); + _check_auth_tickets()).discard_result(); } else { assert(is_hunting()); logger().info("{} continuing the hunt", __func__); @@ -785,11 +793,7 @@ seastar::future<> Client::handle_monmap(crimson::net::Connection &conn, if (monmap.get_addr_name(peer_addr, cur_mon)) { if (active_con) { logger().info("handle_monmap: renewing tickets"); - return seastar::when_all_succeed( - active_con->renew_tickets(), - active_con->renew_rotating_keyring()).then_unpack([] { - logger().info("handle_mon_map: renewed tickets"); - }); + return _check_auth_tickets(); } else { return seastar::now(); } @@ -818,9 +822,7 @@ seastar::future<> Client::handle_auth_reply(crimson::net::Connection &conn, return (*found)->handle_auth_reply(m); } else if (active_con) { return active_con->handle_auth_reply(m).then([this] { - return seastar::when_all_succeed( - active_con->renew_rotating_keyring(), - active_con->renew_tickets()).discard_result(); + return _check_auth_tickets(); }); } else { logger().error("unknown auth reply from {}", conn.get_peer_addr()); diff --git a/src/crimson/mon/MonClient.h b/src/crimson/mon/MonClient.h index 087d24c352e..102bb182942 100644 --- a/src/crimson/mon/MonClient.h +++ b/src/crimson/mon/MonClient.h @@ -164,6 +164,8 @@ private: const std::vector& allowed_modes) final; private: + seastar::future<> _check_auth_tickets(); + void tick(); std::optional> ms_dispatch(crimson::net::ConnectionRef conn, -- 2.39.5