mon: health WARN if monitor quorum is incomplete

Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
Sage Weil 2011-05-16 13:42:31 -07:00
parent e93c0fc08b
commit 3865ca5688
2 changed files with 14 additions and 0 deletions

View File

@ -253,3 +253,16 @@ void MonmapMonitor::tick()
update_from_paxos();
}
enum health_status_t MonmapMonitor::get_health(std::ostream &ss) const
{
enum health_status_t ret(HEALTH_OK);
int max = mon->monmap->size();
int actual = mon->get_quorum().size();
if (actual < max) {
ret = HEALTH_WARN;
ss << (max-actual) << " mons down, quorum " << mon->get_quorum();
}
return ret;
}

View File

@ -54,6 +54,7 @@ class MonmapMonitor : public PaxosService {
bool preprocess_command(MMonCommand *m);
bool prepare_command(MMonCommand *m);
enum health_status_t get_health(std::ostream &ss) const;
/*
* Since monitors are pretty