Skip to content

Commit 8a1bf02

Browse files
committed
implement cbt_tests on LVMoISCSI sr
Signed-off-by: Goulven Riou <goulven.riou@vates.tech>
1 parent 715d4a7 commit 8a1bf02

1 file changed

Lines changed: 64 additions & 1 deletion

File tree

tests/storage/lvmoiscsi/test_lvmoiscsi_sr.py

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@
44
from lib.common import Defer, vm_image, wait_for
55
from lib.host import Host
66
from lib.sr import SR
7-
from lib.vdi import VDI, ImageFormat
7+
from lib.vdi import VDI
88
from lib.vm import VM
99
from tests.storage import (
1010
MAX_VDI_SIZE,
11+
CBTTest,
1112
CoalesceOperation,
1213
ImageFormat,
1314
XVACompression,
15+
assert_cbt_log_does_not_exist_lvm_sr,
16+
assert_cbt_log_exists_lvm_sr,
1417
coalesce_integrity,
1518
full_vdi_write,
1619
vdi_export_import,
@@ -95,3 +98,63 @@ def test_reboot(self, host: Host, lvmoiscsi_sr: SR, vm_on_lvmoiscsi_sr: VM) -> N
9598
vm.shutdown(verify=True)
9699

97100
# *** End of tests with reboots
101+
102+
103+
class TestLVMoISCSICBT(CBTTest):
104+
"""Test CBT functionality on LVMOISCSI SR"""
105+
106+
@staticmethod
107+
def assert_cbt_log_exists(host: Host, sr: SR, vdi: VDI) -> None:
108+
assert_cbt_log_exists_lvm_sr(host, sr, vdi)
109+
110+
@staticmethod
111+
def assert_cbt_log_does_not_exist(host: Host, sr: SR, vdi: VDI) -> None:
112+
assert_cbt_log_does_not_exist_lvm_sr(host, sr, vdi)
113+
114+
def test_enable_disable_cbt(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
115+
self._test_enable_disable_cbt(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
116+
117+
def test_cbt_log_creation(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
118+
self._test_cbt_log_creation(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
119+
120+
def test_snapshot_with_cbt(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
121+
self._test_snapshot_with_cbt(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
122+
123+
@pytest.mark.small_vm
124+
def test_changed_blocks_tracking(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI,
125+
vm_on_lvmoiscsi_sr: VM) -> None:
126+
self._test_changed_blocks_tracking(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr, vm_on_lvmoiscsi_sr)
127+
128+
@pytest.mark.small_vm
129+
def test_cbt_after_coalesce(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI,
130+
vm_on_lvmoiscsi_sr: VM) -> None:
131+
self._test_cbt_after_coalesce(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr, vm_on_lvmoiscsi_sr)
132+
133+
@pytest.mark.small_vm
134+
def test_incremental_snap_scenario(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI,
135+
vm_on_lvmoiscsi_sr: VM) -> None:
136+
self._test_incremental_snap_scenario(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr, vm_on_lvmoiscsi_sr)
137+
138+
def test_disable_cbt_removes_log(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
139+
self._test_disable_cbt_removes_log(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
140+
141+
def test_destroy_vdi_removes_cbt_log(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
142+
self._test_destroy_vdi_removes_cbt_log(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
143+
144+
def test_cbt_persist_after_sr_reboot(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
145+
self._test_cbt_persist_after_sr_reboot(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
146+
147+
def test_cbt_on_snapshot_chain(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
148+
self._test_cbt_on_snapshot_chain(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
149+
150+
def test_cbt_parent_disable_does_not_affect_snapshot(self, host: Host, lvmoiscsi_sr: SR,
151+
vdi_on_lvmoiscsi_sr: VDI) -> None:
152+
self._test_cbt_parent_disable_does_not_affect_snapshot(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)
153+
154+
@pytest.mark.small_vm
155+
def test_cbt_bitmap_non_zero_after_write(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI,
156+
vm_on_lvmoiscsi_sr: VM) -> None:
157+
self._test_cbt_bitmap_non_zero_after_write(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr, vm_on_lvmoiscsi_sr)
158+
159+
def test_cbt_data_destroy(self, host: Host, lvmoiscsi_sr: SR, vdi_on_lvmoiscsi_sr: VDI) -> None:
160+
self._test_cbt_data_destroy(host, lvmoiscsi_sr, vdi_on_lvmoiscsi_sr)

0 commit comments

Comments
 (0)