]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: unit tests for osd crush rename-bucket 2732/head
authorLoic Dachary <loic-201408@dachary.org>
Thu, 16 Oct 2014 00:21:44 +0000 (17:21 -0700)
committerLoic Dachary <loic-201408@dachary.org>
Thu, 16 Oct 2014 00:22:49 +0000 (17:22 -0700)
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
src/test/mon/osd-crush.sh
src/test/pybind/test_ceph_argparse.py

index 56c85735df2f9317a4957f4dc2702b0cfb188d99..e7a98e8166b824b3169d3c228d2f4dc5938cdb35 100755 (executable)
@@ -175,6 +175,17 @@ EOF
 
 }
 
+function TEST_crush_rename_bucket() {
+    local dir=$1
+
+    ./ceph osd crush add-bucket host1 host
+    ! ./ceph osd tree | grep host2 || return 1
+    ./ceph osd crush rename-bucket host1 host2 || return 1
+    ./ceph osd tree | grep host2 || return 1
+    ./ceph osd crush rename-bucket host1 host2 || return 1 # idempotency
+    ./ceph osd crush rename-bucket nonexistent something 2>&1 | grep "Error ENOENT" || return 1
+}
+
 main osd-crush
 
 # Local Variables:
index 7f492ed908357be21f1e59adeb35fe42c6ce39ed..b3c619893f0b08154c37f40a3694279cec673b8e 100755 (executable)
@@ -5,6 +5,7 @@
 # Ceph - scalable distributed file system
 #
 # Copyright (C) 2013,2014 Cloudwatt <libre.licensing@cloudwatt.com>
+# Copyright (C) 2014 Red Hat <contact@redhat.com>
 #
 # Author: Loic Dachary <loic@dachary.org>
 #
@@ -619,6 +620,26 @@ class TestOSD(TestArgparse):
                                                     'add-bucket', '^^^',
                                                     'type']))
 
+    def test_crush_rename_bucket(self):
+        self.assert_valid_command(['osd', 'crush', 'rename-bucket',
+                                   'srcname', 'dstname'])
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rename-bucket']))
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rename-bucket',
+                                                                                                       'srcname']))
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rename-bucket', 'srcname',
+                                                    'dstname',
+                                                    'toomany']))
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rename-bucket', '^^^',
+                                                    'dstname']))
+        assert_equal({}, validate_command(sigdict, ['osd', 'crush',
+                                                    'rename-bucket', 'srcname',
+                                                    '^^^^']))
+
     def check_crush_setter(self, setter):
         self.assert_valid_command(['osd', 'crush', setter,
                                    '*', '2.3', 'AZaz09-_.='])