]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add missing format argument to crush rule dump
authorLoic Dachary <loic@dachary.org>
Sun, 9 Feb 2014 19:30:33 +0000 (20:30 +0100)
committerLoic Dachary <loic@dachary.org>
Thu, 13 Feb 2014 11:27:40 +0000 (12:27 +0100)
Signed-off-by: Loic Dachary <loic@dachary.org>
src/mon/MonCommands.h
src/test/pybind/test_ceph_argparse.py

index 4ae59858c10d7ba5ce73abeda80774c56edd7bba..176b17772601f5a84ad9ad1e1618e7f498ed06ca 100644 (file)
@@ -363,8 +363,11 @@ COMMAND("osd lspools " \
 COMMAND("osd blacklist ls", "show blacklisted clients", "osd", "r", "cli,rest")
 COMMAND("osd crush rule list", "list crush rules", "osd", "r", "cli,rest")
 COMMAND("osd crush rule ls", "list crush rules", "osd", "r", "cli,rest")
-COMMAND("osd crush rule dump", "dump crush rules", "osd", "r", "cli,rest")
 COMMAND("osd crush dump", "dump crush map", "osd", "r", "cli,rest")
+COMMAND("osd crush rule dump " \
+       "name=format,type=CephChoices,strings=json|json-pretty|xml|xml-pretty,req=false", \
+       "dump crush rules formatted as <format> (default json-pretty)", \
+       "osd", "r", "cli,rest")
 COMMAND("osd setcrushmap", "set crush map from input file", \
        "osd", "rw", "cli,rest")
 COMMAND("osd crush set", "set crush map from input file", \
index e2fbda8f0993fedd1a301587011e59bdf8fb97c9..e10d1aa2baefe39fdac80a3175f0c4f3ee98f3f7 100755 (executable)
@@ -568,12 +568,21 @@ class TestOSD(TestArgparse):
     def test_crush_rule(self):
         assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
         assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule']))
-        for subcommand in ('list', 'ls', 'dump'):
+        for subcommand in ('list', 'ls'):
             self.assert_valid_command(['osd', 'crush', 'rule', subcommand])
             assert_equal({}, validate_command(sigdict, ['osd', 'crush',
                                                         'rule', subcommand,
                                                         'toomany']))
 
+    def test_crush_rule_dump(self):
+        self.assert_valid_command(['osd', 'crush', 'rule', 'dump'])
+        for format in ('json', 'json-pretty', 'xml', 'xml-pretty'):
+            self.assert_valid_command(['osd', 'crush', 'rule', 'dump', format])
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rule', 'dump',
+                                                    'json',
+                                                    'toomany']))
+
     def test_crush_dump(self):
         self.assert_valid_command(['osd', 'crush', 'dump'])
         assert_equal({}, validate_command(sigdict, ['osd', 'crush']))