* this silences a warning from -Wsign-compare.
* also switch all its user to the new-style option
Signed-off-by: Kefu Chai <kchai@redhat.com>
OPTION(mon_timecheck_skew_interval, OPT_FLOAT) // on leader, timecheck (clock drift check) interval when in presence of a skew (seconds)
OPTION(mon_pg_stuck_threshold, OPT_INT) // number of seconds after which pgs can be considered stuck inactive, unclean, etc (see doc/control.rst under dump_stuck for more info)
OPTION(mon_pg_min_inactive, OPT_U64) // the number of PGs which have to be inactive longer than 'mon_pg_stuck_threshold' before health goes into ERR. 0 means disabled, never go into ERR.
-OPTION(mon_pg_warn_min_per_osd, OPT_INT) // min # pgs per (in) osd before we warn the admin
OPTION(mon_pg_warn_max_object_skew, OPT_FLOAT) // max skew few average in objects per pg
OPTION(mon_pg_warn_min_objects, OPT_INT) // do not warn below this object #
OPTION(mon_pg_warn_min_pool_objects, OPT_INT) // do not warn on pools below this object #
.set_default(1)
.set_description(""),
- Option("mon_pg_warn_min_per_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+ Option("mon_pg_warn_min_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
.set_default(30)
- .set_description(""),
+ .set_description("minimal number PGs per (in) osd before we warn the admin"),
Option("mon_max_pg_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
.set_default(200)
// TOO_FEW_PGS
unsigned num_in = osdmap.get_num_in_osds();
auto sum_pg_up = std::max(static_cast<size_t>(pg_sum.up), pg_stat.size());
- if (num_in &&
- cct->_conf->mon_pg_warn_min_per_osd > 0 &&
- osdmap.get_pools().size() > 0) {
+ const auto min_pg_per_osd =
+ cct->_conf->get_val<uint64_t>("mon_pg_warn_min_per_osd");
+ if (num_in && min_pg_per_osd > 0 && osdmap.get_pools().size() > 0) {
auto per = sum_pg_up / num_in;
- if (per < cct->_conf->mon_pg_warn_min_per_osd && per) {
+ if (per < min_pg_per_osd && per) {
ostringstream ss;
ss << "too few PGs per OSD (" << per
- << " < min " << cct->_conf->mon_pg_warn_min_per_osd << ")";
+ << " < min " << min_pg_per_osd << ")";
checks->add("TOO_FEW_PGS", HEALTH_WARN, ss.str());
}
}