]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/krbd: add rbd_default_map_options override coverage 44904/head
authorChristopher Hoffman <choffman@redhat.com>
Wed, 9 Feb 2022 20:28:19 +0000 (20:28 +0000)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 18 Feb 2022 16:19:45 +0000 (17:19 +0100)
Add coverage to test precedence, override, and option merge on rbd map.

Signed-off-by: Christopher Hoffman <choffman@redhat.com>
qa/rbd/krbd_default_map_options.t [new file with mode: 0644]
qa/suites/krbd/ms_modeless/tasks/krbd_default_map_options.yaml [new file with mode: 0644]

diff --git a/qa/rbd/krbd_default_map_options.t b/qa/rbd/krbd_default_map_options.t
new file mode 100644 (file)
index 0000000..5dac5d6
--- /dev/null
@@ -0,0 +1,64 @@
+Set up
+
+  $ ceph osd pool create rbda
+  pool 'rbda' created
+  $ rbd pool init rbda
+  $ rbd create rbda/image1 --size 1000
+
+Test at map options level
+
+  $ OPTIONS="alloc_size=65536,lock_on_read"
+  $ EXPECTED="${OPTIONS}"
+  $ DEV=$(sudo rbd map rbda/image1 --options ${OPTIONS})
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+Test at global level
+
+  $ OPTIONS="alloc_size=4096,crc"
+  $ EXPECTED="${OPTIONS}"
+  $ rbd config global set global rbd_default_map_options ${OPTIONS}
+  $ DEV=$(sudo rbd map rbda/image1)
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+  $ OPTIONS="alloc_size=65536,lock_on_read"
+  $ EXPECTED="alloc_size=65536,crc,lock_on_read"
+  $ DEV=$(sudo rbd map rbda/image1 --options ${OPTIONS})
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+Test at pool level
+
+  $ OPTIONS="alloc_size=8192,share"
+  $ EXPECTED="${OPTIONS}"
+  $ rbd config pool set rbda rbd_default_map_options ${OPTIONS}
+  $ DEV=$(sudo rbd map rbda/image1)
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+  $ OPTIONS="lock_on_read,alloc_size=65536"
+  $ EXPECTED="alloc_size=65536,lock_on_read,share"
+  $ DEV=$(sudo rbd map rbda/image1 --options ${OPTIONS})
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+Test at image level
+
+  $ OPTIONS="alloc_size=16384,tcp_nodelay"
+  $ EXPECTED="${OPTIONS}"
+  $ rbd config image set rbda/image1 rbd_default_map_options ${OPTIONS}
+  $ DEV=$(sudo rbd map rbda/image1)
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+  $ OPTIONS="lock_on_read,alloc_size=65536"
+  $ EXPECTED="alloc_size=65536,lock_on_read,tcp_nodelay"
+  $ DEV=$(sudo rbd map rbda/image1 --options ${OPTIONS})
+  $ sudo grep -q ${EXPECTED} /sys/bus/rbd/devices/${DEV#/dev/rbd}/config_info
+  $ sudo rbd unmap rbda/image1
+
+Teardown
+
+  $ ceph osd pool rm rbda rbda --yes-i-really-really-mean-it
+  pool 'rbda' removed
diff --git a/qa/suites/krbd/ms_modeless/tasks/krbd_default_map_options.yaml b/qa/suites/krbd/ms_modeless/tasks/krbd_default_map_options.yaml
new file mode 100644 (file)
index 0000000..c8c12f1
--- /dev/null
@@ -0,0 +1,5 @@
+tasks:
+- cram:
+    clients:
+      client.0:
+      - qa/rbd/krbd_default_map_options.t