]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/localpool: optionally adjust min_size too
authorSage Weil <sage@redhat.com>
Mon, 2 Oct 2017 22:11:46 +0000 (17:11 -0500)
committerSage Weil <sage@redhat.com>
Mon, 2 Oct 2017 22:13:12 +0000 (17:13 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
doc/mgr/localpool.rst
src/pybind/mgr/localpool/module.py

index e0f31cefadfa8104a3320d1c1fbcf4119d7ba2a4..5779b7cf175b7b992861668e559f1aeed21f636f 100644 (file)
@@ -25,6 +25,7 @@ The *localpool* module understands the following options:
 * **pg_num** (default: `128`): number of PGs to create for each pool
 * **num_rep** (default: `3`): number of replicas for each pool.
   (Currently, pools are always replicated.)
+* **min_size** (default: none): value to set min_size to (unchanged from Ceph's default if this option is not set)
 * **prefix** (default: `by-$subtreetype-`): prefix for the pool name.
 
 These options are set via the config-key interface.  For example, to
index c2072e9bc5b4d150ec72b78e27b30a95cc8468ca..fac3d1c7f6c71ebd6d829897df608066a1ee5cba 100644 (file)
@@ -19,6 +19,7 @@ class Module(MgrModule):
         failure_domain = self.get_config('failure_domain') or 'host'
         pg_num = self.get_config('pg_num') or '128'
         num_rep = self.get_config('num_rep') or '3'
+        min_size = self.get_config('min_size')
         prefix = self.get_config('prefix') or 'by-' + subtree_type + '-'
 
         osdmap = self.get("osd_map")
@@ -68,6 +69,17 @@ class Module(MgrModule):
                     }), "")
                     r, outb, outs = result.wait()
 
+                    if min_size:
+                        result = CommandResult("")
+                        self.send_command(result, "mon", "", json.dumps({
+                            "prefix": "osd pool set",
+                            "format": "json",
+                            "pool": pool_name,
+                            'var': 'min_size',
+                            "val": str(min_size),
+                        }), "")
+                        r, outb, outs = result.wait()
+
         # TODO remove pools for hosts that don't exist?
 
     def serve(self):