Skip to content

Commit 2eb3d4e

Browse files
committed
implement cbt_tests on lvmohba sr
Signed-off-by: Goulven Riou <goulven.riou@vates.tech>
1 parent 28b673a commit 2eb3d4e

1 file changed

Lines changed: 65 additions & 1 deletion

File tree

tests/storage/lvmohba/test_lvmohba_sr.py

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
from lib.commands import SSHCommandFailed
44
from lib.common import Defer, vm_image, wait_for
5+
from lib.host import Host
56
from lib.sr import SR
6-
from lib.vdi import VDI, ImageFormat
7+
from lib.vdi import VDI
78
from lib.vm import VM
89
from tests.storage import (
910
MAX_VDI_SIZE,
11+
CBTTest,
1012
CoalesceOperation,
1113
ImageFormat,
1214
XVACompression,
15+
assert_cbt_log_does_not_exist_lvm_sr,
16+
assert_cbt_log_exists_lvm_sr,
1317
coalesce_integrity,
1418
full_vdi_write,
1519
vdi_export_import,
@@ -93,3 +97,63 @@ def test_reboot(self, host, lvmohba_sr, vm_on_lvmohba_sr):
9397
vm.shutdown(verify=True)
9498

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

0 commit comments

Comments
 (0)