Project

General

Profile

Actions

Bug #7159

closed

ceph status --format=json num_in_osds and num_up_osds formatting not consistent

Added by Tyler Brekke over 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Support
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

From support ticket #932

root@burnupi02:/home/ubuntu# ceph status --format=json-pretty

"osdmap": { "osdmap": { "epoch": 1318,
"num_osds": 21,
"num_up_osds": 21,
"num_in_osds": "21",
"full": "false",
"nearfull": "false"}},

num_in_osds is returned as a string, while the output of get_num_in_osds() can only be an int. Should be consistent with num_up_osds.

Something like this should resolve it.

diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc
index ed341aa..71259f9 100644
--- a/src/osd/OSDMap.cc
+++ b/src/osd/OSDMap.cc
@@ -1822,7 +1822,7 @@ void OSDMap::print_summary(Formatter *f, ostream& out) const
     f->dump_int("epoch", get_epoch());
     f->dump_int("num_osds", get_num_osds());
     f->dump_int("num_up_osds", get_num_up_osds());
-    f->dump_stream("num_in_osds") << get_num_in_osds();
+    f->dump_int("num_in_osds", get_num_in_osds());
     f->dump_string("full", test_flag(CEPH_OSDMAP_FULL) ? "true" : "false");
     f->dump_string("nearfull", test_flag(CEPH_OSDMAP_NEARFULL) ?
                   "true" : "false");
Actions

Also available in: Atom PDF