Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
3b74fbc93d32d6cc367049d3bcbe83d3837abba5)
Conflicts
src/mon/PGMap.cc
- cct->_conf->get_val in luminous
src/common/options.cc
- no mon_max_snap_prune_per_epoch in luminous
- in luminous, osd_pool_default_size is INT_T (int64_t). In master, it is UINT_T
(uint64_t). So I changed the type to int64_t.
.set_default(true)
.set_description("Enable POOL_APP_NOT_ENABLED health check"),
+ Option("mon_warn_on_too_few_osds", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
+ .set_default(true)
+ .add_service("mgr")
+ .set_description("Issue a health warning if there are fewer OSDs than osd_pool_default_size"),
+
Option("mon_min_osdmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED)
.set_default(500)
.set_description(""),
}
// TOO_FEW_OSDS
- auto osd_pool_default_size = cct->_conf->get_val<uint64_t>("osd_pool_default_size");
- if (osdmap.get_num_osds() < osd_pool_default_size) {
+ auto warn_too_few_osds = cct->_conf->get_val<bool>("mon_warn_on_too_few_osds");
+ auto osd_pool_default_size = cct->_conf->get_val<int64_t>("osd_pool_default_size");
+ if (warn_too_few_osds && osdmap.get_num_osds() < osd_pool_default_size) {
ostringstream ss;
ss << "OSD count " << osdmap.get_num_osds()
<< " < osd_pool_default_size " << osd_pool_default_size;