osd/OSDMap: show "destroyed" status in tree view

It would be a pain if we destroyed an osd and there is no obvious way
to find it out.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
This commit is contained in:
xie xingguo 2017-07-21 13:47:03 +08:00
parent 5a1f595bb3
commit 3b6bbc416d
2 changed files with 26 additions and 10 deletions

View File

@ -3074,7 +3074,7 @@ public:
tbl->define_column("CLASS", TextTable::LEFT, TextTable::RIGHT);
tbl->define_column("WEIGHT", TextTable::LEFT, TextTable::RIGHT);
tbl->define_column("TYPE NAME", TextTable::LEFT, TextTable::LEFT);
tbl->define_column("UP/DOWN", TextTable::LEFT, TextTable::RIGHT);
tbl->define_column("STATUS", TextTable::LEFT, TextTable::RIGHT);
tbl->define_column("REWEIGHT", TextTable::LEFT, TextTable::RIGHT);
tbl->define_column("PRI-AFF", TextTable::LEFT, TextTable::RIGHT);
@ -3112,7 +3112,15 @@ protected:
*tbl << "DNE"
<< 0;
} else {
*tbl << (osdmap->is_up(qi.id) ? "up" : "down")
string s;
if (osdmap->is_up(qi.id)) {
s = "up";
} else if (osdmap->is_destroyed(qi.id)) {
s = "destroyed";
} else {
s = "down";
}
*tbl << s
<< weightf_t(osdmap->get_weightf(qi.id))
<< weightf_t(osdmap->get_primary_affinityf(qi.id));
}
@ -3164,8 +3172,16 @@ protected:
Parent::dump_item_fields(qi, f);
if (!qi.is_bucket())
{
string s;
if (osdmap->is_up(qi.id)) {
s = "up";
} else if (osdmap->is_destroyed(qi.id)) {
s = "destroyed";
} else {
s = "down";
}
f->dump_unsigned("exists", (int)osdmap->exists(qi.id));
f->dump_string("status", osdmap->is_up(qi.id) ? "up" : "down");
f->dump_string("status", s);
f->dump_float("reweight", osdmap->get_weightf(qi.id));
f->dump_float("primary_affinity", osdmap->get_primary_affinityf(qi.id));
}

View File

@ -4,13 +4,13 @@
$ osdmaptool --tree=plain om
osdmaptool: osdmap file 'om'
ID CLASS WEIGHT TYPE NAME UP/DOWN REWEIGHT PRI-AFF
-1 3.00000 root default
-3 3.00000 rack localrack
-2 3.00000 host localhost
0 1.00000 osd.0 DNE 0
1 1.00000 osd.1 DNE 0
2 1.00000 osd.2 DNE 0
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 3.00000 root default
-3 3.00000 rack localrack
-2 3.00000 host localhost
0 1.00000 osd.0 DNE 0
1 1.00000 osd.1 DNE 0
2 1.00000 osd.2 DNE 0
$ osdmaptool --tree=json-pretty om
osdmaptool: osdmap file 'om'