From 4ddcf415efa01e09178e4f602ce06c5c13eb5699 Mon Sep 17 00:00:00 2001 From: John Spray Date: Wed, 6 Apr 2016 12:04:30 +0100 Subject: [PATCH] mds: health metric for being read only This is the state we get after an OSD write error, so it's definitely something we want to tell the user about in ceph status. Signed-off-by: John Spray --- src/mds/Beacon.cc | 7 +++++++ src/messages/MMDSBeacon.h | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mds/Beacon.cc b/src/mds/Beacon.cc index 16f20badc749..9a07b915974f 100644 --- a/src/mds/Beacon.cc +++ b/src/mds/Beacon.cc @@ -443,6 +443,13 @@ void Beacon::notify_health(MDSRank const *mds) large_completed_requests_metrics.clear(); } } + + // Report a health warning if we are readonly + if (mds->mdcache->is_readonly()) { + MDSHealthMetric m(MDS_HEALTH_READ_ONLY, HEALTH_WARN, + "MDS in read-only mode"); + health.metrics.push_back(m); + } } MDSMap::DaemonState Beacon::get_want_state() const diff --git a/src/messages/MMDSBeacon.h b/src/messages/MMDSBeacon.h index a15507560a65..727aaad71474 100644 --- a/src/messages/MMDSBeacon.h +++ b/src/messages/MMDSBeacon.h @@ -37,7 +37,8 @@ enum mds_metric_t { MDS_HEALTH_CLIENT_LATE_RELEASE_MANY, MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY, - MDS_HEALTH_DAMAGE + MDS_HEALTH_DAMAGE, + MDS_HEALTH_READ_ONLY }; /** -- 2.47.3