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

Signed-off-by: Christopher Hoffman <choffman@redhat.com>
(cherry picked from commit 19d46b918169601afe9eb834a2361fb015048c67)

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