]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/OSDMonitor: apply osd_pool_default_pg_autoscale_mode to new pools
authorSage Weil <sage@redhat.com>
Wed, 28 Nov 2018 21:09:22 +0000 (15:09 -0600)
committerSage Weil <sage@redhat.com>
Tue, 18 Dec 2018 19:30:54 +0000 (13:30 -0600)
Default to 'warn' for now.

Signed-off-by: Sage Weil <sage@redhat.com>
src/common/options.cc
src/mon/OSDMonitor.cc

index e97c30b02cf871bdb125dae765a11fbec769a5f9..a2732ff3e4c172af3559e179b5b0c719d8e375a1 100644 (file)
@@ -2485,6 +2485,11 @@ std::vector<Option> get_global_options() {
     .set_default(10)
     .set_description(""),
 
+    Option("osd_pool_default_pg_autoscale_mode", Option::TYPE_STR, Option::LEVEL_ADVANCED)
+    .set_default("warn")
+    .set_enum_allowed({"off", "warn", "on"})
+    .set_description("Default PG autoscaling behavior for new pools"),
+
     Option("osd_hit_set_min_size", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(1000)
     .set_description(""),
index 4cebaecbfb085de72e345a38802654ebbcfa7622..a8327b853c57c4858983bc93d2631dfc5e2c6e1f 100644 (file)
@@ -6802,6 +6802,11 @@ int OSDMonitor::prepare_new_pool(string& name,
   pi->crush_rule = crush_rule;
   pi->expected_num_objects = expected_num_objects;
   pi->object_hash = CEPH_STR_HASH_RJENKINS;
+  {
+    auto m = pg_pool_t::get_pg_autoscale_mode_by_name(
+      g_conf().get_val<string>("osd_pool_default_pg_autoscale_mode"));
+    pi->pg_autoscale_mode = m >= 0 ? m : 0;
+  }
   auto max = g_conf().get_val<int64_t>("mon_osd_max_initial_pgs");
   pi->set_pg_num(
     max > 0 ? std::min<uint64_t>(pg_num, std::max<int64_t>(1, max))