test fix: test_ioclass_eviction_priority

Using workload path per each io class

Signed-off-by: Karolina Rogowska <karolina.rogowska@intel.com>
This commit is contained in:
Karolina Rogowska 2021-03-30 16:56:02 +02:00
parent a70a862c6d
commit 5f59376ea9
2 changed files with 9 additions and 6 deletions

View File

@ -3,8 +3,6 @@
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
from datetime import timedelta
from api.cas import casadm
from api.cas import ioclass_config
from api.cas.cache_config import (
@ -89,13 +87,14 @@ def get_io_class_usage(cache, io_class_id, percent=False):
).usage_stats
def run_io_dir(path, size_4k):
def run_io_dir(path, size_4k, offset=0):
dd = (
Dd()
.input("/dev/zero")
.output(f"{path}")
.count(size_4k)
.block_size(Size(1, Unit.Blocks4096))
.seek(offset)
)
TestRun.LOGGER.info(f"{dd}")
output = dd.run()

View File

@ -8,13 +8,13 @@ from math import isclose
import pytest
from .io_class_common import *
from api.cas.cache_config import CacheMode, CacheLineSize
from api.cas.ioclass_config import IoClass
from storage_devices.disk import DiskType, DiskTypeSet, DiskTypeLowerThan
from test_tools import fs_utils
from test_tools.disk_utils import Filesystem
from test_utils.os_utils import sync, Udev
from .io_class_common import *
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
@ -130,11 +130,15 @@ def test_ioclass_eviction_priority(cache_line_size):
::-1
] # List is ordered by eviction priority
io_classes_evicted = []
io_offset = 0
for io_class in io_classes_to_evict:
io_size = int((io_class.max_occupancy * cache_size) / Unit.Blocks4096)
run_io_dir(
f"{target_io_class.dir_path}/tmp_file",
int((io_class.max_occupancy * cache_size) / Unit.Blocks4096),
f"{target_io_class.dir_path}/tmp_file_{io_class.id}",
io_size,
io_offset
)
io_offset += io_size
part_to_evict_end_occupancy = get_io_class_occupancy(
cache, io_class.id, percent=True
)