Merge pull request #1580 from katlapinka/kasiat/fix-lvm-tests
Fix tests after LVM API refactor
This commit is contained in:
commit
c142610174
@ -1 +1 @@
|
|||||||
Subproject commit 3dacb82a132f9a391ab7242cfed789d8e6689dc0
|
Subproject commit 5d8afd3fba17a89d820b60a366419730745ed1b7
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2022 Intel Corporation
|
# Copyright(c) 2022 Intel Corporation
|
||||||
|
# Copyright(c) 2024 Huawei Technologies Co., Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -16,6 +17,7 @@ from test_tools.disk_utils import Filesystem
|
|||||||
from test_tools.fio.fio import Fio
|
from test_tools.fio.fio import Fio
|
||||||
from test_tools.fio.fio_param import ReadWrite, IoEngine
|
from test_tools.fio.fio_param import ReadWrite, IoEngine
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
|
from tests.volumes.common import lvm_filters
|
||||||
|
|
||||||
mount_point = "/mnt/"
|
mount_point = "/mnt/"
|
||||||
io_target = "/mnt/test"
|
io_target = "/mnt/test"
|
||||||
@ -43,16 +45,14 @@ def test_io_class_lvm_on_cas():
|
|||||||
cache = casadm.start_cache(cache_dev.partitions[0], CacheMode.WB, force=True)
|
cache = casadm.start_cache(cache_dev.partitions[0], CacheMode.WB, force=True)
|
||||||
core = cache.add_core(core_dev.partitions[0])
|
core = cache.add_core(core_dev.partitions[0])
|
||||||
|
|
||||||
with TestRun.step("Create LVM on CAS device."):
|
with TestRun.step("Add CAS device type to the LVM config file."):
|
||||||
lvm_filters = ["a/.*/", "r|/dev/sd*|", "r|/dev/hd*|", "r|/dev/xvd*|", "r/disk/", "r/block/",
|
LvmConfiguration.add_block_device_to_lvm_config("cas")
|
||||||
"r|/dev/nvme*|"]
|
|
||||||
|
|
||||||
|
with TestRun.step("Create LVM on CAS device."):
|
||||||
config = LvmConfiguration(lvm_filters,
|
config = LvmConfiguration(lvm_filters,
|
||||||
pv_num=1,
|
pv_num=1,
|
||||||
vg_num=1,
|
vg_num=1,
|
||||||
lv_num=1,
|
lv_num=1,)
|
||||||
cache_num=1,
|
|
||||||
cas_dev_num=1)
|
|
||||||
|
|
||||||
lvms = Lvm.create_specific_lvm_configuration(core, config)
|
lvms = Lvm.create_specific_lvm_configuration(core, config)
|
||||||
lvm = lvms[0]
|
lvm = lvms[0]
|
||||||
|
@ -1,12 +1,20 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2022 Intel Corporation
|
# Copyright(c) 2022 Intel Corporation
|
||||||
|
# Copyright(c) 2024 Huawei Technologies Co., Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
|
from api.cas.init_config import InitConfig, opencas_conf_path
|
||||||
from test_tools import fs_utils
|
from test_tools import fs_utils
|
||||||
from core.test_run import TestRun
|
from core.test_run import TestRun
|
||||||
|
from test_utils.os_utils import get_block_device_names_list
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
|
|
||||||
test_file_size = Size(500, Unit.KiloByte)
|
test_file_size = Size(500, Unit.KiloByte)
|
||||||
|
lvm_filters = [
|
||||||
|
"a/.*/", "r|/dev/sd*|", "r|/dev/hd*|", "r|/dev/xvd*|", "r/disk/", "r/block/",
|
||||||
|
"r|/dev/nvme*|", "r|/dev/vd*|"
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def create_files_with_md5sums(destination_path, files_count):
|
def create_files_with_md5sums(destination_path, files_count):
|
||||||
@ -40,3 +48,11 @@ def compare_md5sums(md5_sums_source, files_to_check_path, copy_to_tmp=False):
|
|||||||
TestRun.fail(f"Source and target files {file_to_check_path} checksums are different.")
|
TestRun.fail(f"Source and target files {file_to_check_path} checksums are different.")
|
||||||
|
|
||||||
TestRun.LOGGER.info(f"Successful verification, md5sums match.")
|
TestRun.LOGGER.info(f"Successful verification, md5sums match.")
|
||||||
|
|
||||||
|
|
||||||
|
def get_test_configuration():
|
||||||
|
InitConfig.create_init_config_from_running_configuration()
|
||||||
|
config_output = TestRun.executor.run(f"cat {opencas_conf_path}")
|
||||||
|
devices = get_block_device_names_list(exclude_list=[7]) # 7 stands for loop device
|
||||||
|
|
||||||
|
return config_output.stdout, devices
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2022 Intel Corporation
|
# Copyright(c) 2022 Intel Corporation
|
||||||
|
# Copyright(c) 2024 Huawei Technologies Co., Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from api.cas.init_config import InitConfig, opencas_conf_path
|
|
||||||
from storage_devices.lvm import Lvm, LvmConfiguration
|
from storage_devices.lvm import Lvm, LvmConfiguration
|
||||||
from api.cas import casadm
|
from api.cas import casadm
|
||||||
from core.test_run import TestRun
|
from core.test_run import TestRun
|
||||||
@ -13,6 +14,7 @@ from storage_devices.disk import DiskType, DiskTypeSet
|
|||||||
from test_tools.fio.fio import Fio
|
from test_tools.fio.fio import Fio
|
||||||
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
|
from tests.volumes.common import get_test_configuration
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
||||||
@ -36,15 +38,17 @@ def test_many_cores_on_many_lvms():
|
|||||||
cache_dev = cache_device.partitions[0]
|
cache_dev = cache_device.partitions[0]
|
||||||
core_dev = core_device.partitions[0]
|
core_dev = core_device.partitions[0]
|
||||||
|
|
||||||
|
with TestRun.step("Configure LVM to use device filters."):
|
||||||
|
LvmConfiguration.set_use_devices_file(False)
|
||||||
|
|
||||||
with TestRun.step("Create LVMs."):
|
with TestRun.step("Create LVMs."):
|
||||||
config = LvmConfiguration(lvm_filters=[],
|
config = LvmConfiguration(lvm_filters=[],
|
||||||
pv_num=1,
|
pv_num=1,
|
||||||
vg_num=1,
|
vg_num=1,
|
||||||
lv_num=16,
|
lv_num=16,
|
||||||
cache_num=1,
|
)
|
||||||
cas_dev_num=16)
|
|
||||||
|
|
||||||
lvms = Lvm.create_specific_lvm_configuration([core_dev], config, lvm_as_core=True)
|
lvms = Lvm.create_specific_lvm_configuration([core_dev], config)
|
||||||
|
|
||||||
with TestRun.step(f"Create CAS device."):
|
with TestRun.step(f"Create CAS device."):
|
||||||
cache = casadm.start_cache(cache_dev, force=True)
|
cache = casadm.start_cache(cache_dev, force=True)
|
||||||
@ -102,20 +106,3 @@ def test_many_cores_on_many_lvms():
|
|||||||
|
|
||||||
with TestRun.step("Remove LVMs."):
|
with TestRun.step("Remove LVMs."):
|
||||||
Lvm.remove_all()
|
Lvm.remove_all()
|
||||||
|
|
||||||
|
|
||||||
def get_block_devices_list():
|
|
||||||
cmd = f"lsblk -l | awk '{{print $1}}' | grep -v loop"
|
|
||||||
devices = TestRun.executor.run_expect_success(cmd).stdout
|
|
||||||
devices_list = devices.splitlines()
|
|
||||||
devices_list.sort()
|
|
||||||
|
|
||||||
return devices_list
|
|
||||||
|
|
||||||
|
|
||||||
def get_test_configuration():
|
|
||||||
InitConfig.create_init_config_from_running_configuration()
|
|
||||||
config_output = TestRun.executor.run(f"cat {opencas_conf_path}")
|
|
||||||
devices = get_block_devices_list()
|
|
||||||
|
|
||||||
return config_output.stdout, devices
|
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2022 Intel Corporation
|
# Copyright(c) 2022 Intel Corporation
|
||||||
|
# Copyright(c) 2024 Huawei Technologies Co., Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from api.cas.init_config import InitConfig, opencas_conf_path
|
|
||||||
from storage_devices.lvm import Lvm, LvmConfiguration
|
from storage_devices.lvm import Lvm, LvmConfiguration
|
||||||
|
|
||||||
from api.cas import casadm
|
from api.cas import casadm
|
||||||
from core.test_run import TestRun
|
from core.test_run import TestRun
|
||||||
from storage_devices.disk import DiskType, DiskTypeSet, DiskTypeLowerThan
|
from storage_devices.disk import DiskType, DiskTypeSet, DiskTypeLowerThan
|
||||||
from test_tools.fio.fio import Fio
|
from test_tools.fio.fio import Fio
|
||||||
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
|
from tests.volumes.common import get_test_configuration, lvm_filters
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
||||||
@ -48,16 +49,18 @@ def test_many_lvms_on_many_cores():
|
|||||||
for core_dev in core_partitions:
|
for core_dev in core_partitions:
|
||||||
cores.append(cache.add_core(core_dev))
|
cores.append(cache.add_core(core_dev))
|
||||||
|
|
||||||
with TestRun.step("Create LVMs on CAS device."):
|
with TestRun.step("Configure LVM to use device filters."):
|
||||||
lvm_filters = ["a/.*/", "r|/dev/sd*|", "r|/dev/hd*|", "r|/dev/xvd*|", "r/disk/", "r/block/",
|
LvmConfiguration.set_use_devices_file(False)
|
||||||
"r|/dev/nvme*|"]
|
|
||||||
|
|
||||||
|
with TestRun.step("Add CAS device type to the LVM config file."):
|
||||||
|
LvmConfiguration.add_block_device_to_lvm_config("cas")
|
||||||
|
|
||||||
|
with TestRun.step("Create LVMs on CAS device."):
|
||||||
config = LvmConfiguration(lvm_filters,
|
config = LvmConfiguration(lvm_filters,
|
||||||
pv_num=4,
|
pv_num=4,
|
||||||
vg_num=4,
|
vg_num=4,
|
||||||
lv_num=4,
|
lv_num=4,
|
||||||
cache_num=1,
|
)
|
||||||
cas_dev_num=len(cores))
|
|
||||||
|
|
||||||
lvms = Lvm.create_specific_lvm_configuration(cores, config)
|
lvms = Lvm.create_specific_lvm_configuration(cores, config)
|
||||||
|
|
||||||
@ -108,20 +111,3 @@ def test_many_lvms_on_many_cores():
|
|||||||
with TestRun.step("Remove LVMs and clean up config changes."):
|
with TestRun.step("Remove LVMs and clean up config changes."):
|
||||||
Lvm.remove_all()
|
Lvm.remove_all()
|
||||||
LvmConfiguration.remove_filters_from_config()
|
LvmConfiguration.remove_filters_from_config()
|
||||||
|
|
||||||
|
|
||||||
def get_block_devices_list():
|
|
||||||
cmd = f"lsblk -l | awk '{{print $1}}' | grep -v loop"
|
|
||||||
devices = TestRun.executor.run_expect_success(cmd).stdout
|
|
||||||
devices_list = devices.splitlines()
|
|
||||||
devices_list.sort()
|
|
||||||
|
|
||||||
return devices_list
|
|
||||||
|
|
||||||
|
|
||||||
def get_test_configuration():
|
|
||||||
InitConfig.create_init_config_from_running_configuration()
|
|
||||||
config_output = TestRun.executor.run(f"cat {opencas_conf_path}")
|
|
||||||
devices = get_block_devices_list()
|
|
||||||
|
|
||||||
return config_output.stdout, devices
|
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2022 Intel Corporation
|
# Copyright(c) 2022 Intel Corporation
|
||||||
|
# Copyright(c) 2024 Huawei Technologies Co., Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from api.cas.init_config import InitConfig, opencas_conf_path
|
|
||||||
from storage_devices.lvm import Lvm, LvmConfiguration
|
from storage_devices.lvm import Lvm, LvmConfiguration
|
||||||
|
|
||||||
from api.cas import casadm
|
from api.cas import casadm
|
||||||
from core.test_run import TestRun
|
from core.test_run import TestRun
|
||||||
from storage_devices.disk import DiskType, DiskTypeSet, DiskTypeLowerThan
|
from storage_devices.disk import DiskType, DiskTypeSet, DiskTypeLowerThan
|
||||||
from test_tools.fio.fio import Fio
|
from test_tools.fio.fio import Fio
|
||||||
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
from test_tools.fio.fio_param import ReadWrite, IoEngine, VerifyMethod
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
|
from tests.volumes.common import get_test_configuration, lvm_filters
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
|
||||||
@ -38,16 +39,17 @@ def test_many_lvms_on_single_core():
|
|||||||
cache = casadm.start_cache(cache_dev.partitions[0], force=True)
|
cache = casadm.start_cache(cache_dev.partitions[0], force=True)
|
||||||
core = cache.add_core(core_dev.partitions[0])
|
core = cache.add_core(core_dev.partitions[0])
|
||||||
|
|
||||||
with TestRun.step("Create LVMs on CAS device."):
|
with TestRun.step("Configure LVM to use device filters."):
|
||||||
lvm_filters = ["a/.*/", "r|/dev/sd*|", "r|/dev/hd*|", "r|/dev/xvd*|", "r/disk/", "r/block/",
|
LvmConfiguration.set_use_devices_file(False)
|
||||||
"r|/dev/nvme*|"]
|
|
||||||
|
|
||||||
|
with TestRun.step("Add CAS device type to the LVM config file."):
|
||||||
|
LvmConfiguration.add_block_device_to_lvm_config("cas")
|
||||||
|
|
||||||
|
with TestRun.step("Create LVMs on CAS device."):
|
||||||
config = LvmConfiguration(lvm_filters,
|
config = LvmConfiguration(lvm_filters,
|
||||||
pv_num=1,
|
pv_num=1,
|
||||||
vg_num=1,
|
vg_num=1,
|
||||||
lv_num=16,
|
lv_num=2,)
|
||||||
cache_num=1,
|
|
||||||
cas_dev_num=1)
|
|
||||||
|
|
||||||
lvms = Lvm.create_specific_lvm_configuration(core, config)
|
lvms = Lvm.create_specific_lvm_configuration(core, config)
|
||||||
|
|
||||||
@ -97,20 +99,3 @@ def test_many_lvms_on_single_core():
|
|||||||
|
|
||||||
with TestRun.step("Remove LVMs."):
|
with TestRun.step("Remove LVMs."):
|
||||||
Lvm.remove_all()
|
Lvm.remove_all()
|
||||||
|
|
||||||
|
|
||||||
def get_block_devices_list():
|
|
||||||
cmd = f"lsblk -l | awk '{{print $1}}' | grep -v loop"
|
|
||||||
devices = TestRun.executor.run_expect_success(cmd).stdout
|
|
||||||
devices_list = devices.splitlines()
|
|
||||||
devices_list.sort()
|
|
||||||
|
|
||||||
return devices_list
|
|
||||||
|
|
||||||
|
|
||||||
def get_test_configuration():
|
|
||||||
InitConfig.create_init_config_from_running_configuration()
|
|
||||||
config_output = TestRun.executor.run(f"cat {opencas_conf_path}")
|
|
||||||
devices = get_block_devices_list()
|
|
||||||
|
|
||||||
return config_output.stdout, devices
|
|
||||||
|
Loading…
Reference in New Issue
Block a user