From: Jason Dillaman Date: Mon, 19 Jun 2017 20:36:42 +0000 (-0400) Subject: mon: health warning if in-use pools don't have application enabled X-Git-Tag: v12.1.2~224^2~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=688026741bb3e66fabca1faf14d00cf1b02c9124;p=ceph.git mon: health warning if in-use pools don't have application enabled Signed-off-by: Jason Dillaman --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 2fef9c8d7c042..f01c69f5f2898 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -3810,6 +3810,30 @@ void OSDMonitor::get_health(list >& summary, if (detail) detail->push_back(make_pair(HEALTH_WARN, ss.str())); } + + const string& pool_name = osdmap.get_pool_name(it.first); + const pool_stat_t *pstat = mon->pgservice->get_pool_stat(it.first); + if (pstat == nullptr) { + continue; + } + const object_stat_sum_t& sum = pstat->stats.sum; + + // application metadata is not encoded until luminous is minimum + // required release + if (osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS && + sum.num_objects > 0 && pool.application_metadata.empty()) { + stringstream ss; + ss << "application not enabled on pool '" << pool_name << "'"; + + summary.push_back({HEALTH_WARN, ss.str()}); + if (detail) { + ss << "; " + << "use 'ceph osd pool application enable " + << "', where is 'cephfs', 'rbd', 'rgw', " + << "or freeform for custom applications."; + detail->push_back({HEALTH_WARN, ss.str()}); + } + } } } }