]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon: warn if 'sortbitwise' flag is not set and no legacy OSDs are present
authorSage Weil <sage@redhat.com>
Wed, 6 Apr 2016 21:03:53 +0000 (17:03 -0400)
committerSage Weil <sage@redhat.com>
Wed, 6 Apr 2016 21:03:53 +0000 (17:03 -0400)
If the user has upgraded, they should set sortbitwise.

Signed-off-by: Sage Weil <sage@redhat.com>
doc/release-notes.rst
src/common/config_opts.h
src/mon/OSDMonitor.cc

index db652bbbf30d4119b4d925008e4f8fb87645a214..5863e7b815635e71c07f6d7c56c77a9897c445e4 100644 (file)
@@ -312,6 +312,14 @@ Upgrading from Infernalis
 * The rbd legacy image format (version 1) is deprecated with the Jewel
   release.
 
+* After upgrading, users should set the 'sortbitwise' flag to enable the new
+  internal object sort order::
+
+    ceph osd set sortbitwise
+
+  This flag is important for the new object enumeration API and for
+  new backends like BlueStore.
+
 Notable Changes since v10.0.4
 -----------------------------
 
index 5d1a6e8c8b08cce6ced22ee572039a8475c3461e..2710b4ba2cdafd6a6b798395b9bbf325dfdbcd96 100644 (file)
@@ -271,6 +271,7 @@ OPTION(mon_crush_min_required_version, OPT_STR, "firefly")
 OPTION(mon_warn_on_crush_straw_calc_version_zero, OPT_BOOL, true) // warn if crush straw_calc_version==0
 OPTION(mon_warn_on_osd_down_out_interval_zero, OPT_BOOL, true) // warn if 'mon_osd_down_out_interval == 0'
 OPTION(mon_warn_on_cache_pools_without_hit_sets, OPT_BOOL, true)
+OPTION(mon_warn_on_no_sortbitwise, OPT_BOOL, true)  // warn when sortbitwise not set
 OPTION(mon_min_osdmap_epochs, OPT_INT, 500)
 OPTION(mon_max_pgmap_epochs, OPT_INT, 500)
 OPTION(mon_max_log_epochs, OPT_INT, 500)
index 8114154e2ef0d9f6867a80a2e478548ef528a086..0085cbe79bae12db397e6986477ea434c234a801 100644 (file)
@@ -2955,6 +2955,16 @@ void OSDMonitor::get_health(list<pair<health_status_t,string> >& summary,
       }
     }
 
+    // Not using 'sortbitwise' and should be?
+    if (g_conf->mon_warn_on_no_sortbitwise &&
+       !osdmap.test_flag(CEPH_OSDMAP_SORTBITWISE) &&
+       (osdmap.get_features(CEPH_ENTITY_TYPE_OSD, NULL) &
+        CEPH_FEATURE_OSD_BITWISE_HOBJ_SORT)) {
+      ostringstream ss;
+      ss << "no legacy OSD present but 'sortbitwise' flag is not set";
+      summary.push_back(make_pair(HEALTH_WARN, ss.str()));
+    }
+
     // Warn if 'mon_osd_down_out_interval' is set to zero.
     // Having this option set to zero on the leader acts much like the
     // 'noout' flag.  It's hard to figure out what's going wrong with clusters