コード例 #1
0
def prepare():
    base_prepare()
    cache_device = next(disk for disk in TestRun.dut.disks
                        if disk.disk_type in [DiskType.optane, DiskType.nand])
    core_device = next(disk for disk in TestRun.dut.disks
                       if (disk.disk_type.value > cache_device.disk_type.value
                           and disk != cache_device))

    cache_device.create_partitions([Size(500, Unit.MebiByte)])
    core_device.create_partitions([
        Size(1, Unit.GibiByte),
        Size(1, Unit.GibiByte),
        Size(1, Unit.GibiByte)
    ])

    cache_device = cache_device.partitions[0]
    core_device_1 = core_device.partitions[0]
    core_device_2 = core_device.partitions[1]
    core_device_3 = core_device.partitions[2]

    TestRun.LOGGER.info("Staring cache")
    cache = casadm.start_cache(cache_device, force=True)
    TestRun.LOGGER.info("Adding core device")
    core_1 = cache.add_core(core_dev=core_device_1)
    core_2 = cache.add_core(core_dev=core_device_2)
    core_3 = cache.add_core(core_dev=core_device_3)

    return cache, core_device
コード例 #2
0
def prepare():
    base_prepare()
    ioclass_config.remove_ioclass_config()
    cache_device = next(
        disk
        for disk in TestRun.dut.disks
        if disk.disk_type in [DiskType.optane, DiskType.nand]
    )
    core_device = next(
        disk
        for disk in TestRun.dut.disks
        if (disk.disk_type.value > cache_device.disk_type.value and disk != cache_device)
    )

    cache_device.create_partitions([Size(500, Unit.MebiByte)])
    core_device.create_partitions([Size(2, Unit.GibiByte)])

    cache_device = cache_device.partitions[0]
    core_device_1 = core_device.partitions[0]

    Udev.disable()

    TestRun.LOGGER.info(f"Staring cache")
    cache = casadm.start_cache(cache_device, force=True)
    TestRun.LOGGER.info(f"Setting cleaning policy to NOP")
    cache.set_cleaning_policy(CleaningPolicy.nop)
    TestRun.LOGGER.info(f"Adding core devices")
    core = cache.add_core(core_dev=core_device_1)

    output = TestRun.executor.run(f"mkdir -p {mountpoint}")
    if output.exit_code != 0:
        raise Exception(f"Failed to create mountpoint")

    return cache, core
コード例 #3
0
def prepare():
    base_prepare()
    ioclass_config.remove_ioclass_config()
    cache_device = next(
        filter(lambda disk: disk.disk_type in [DiskType.optane, DiskType.nand],
               TestRun.dut.disks))
    core_device = next(
        filter(
            lambda disk: disk.disk_type.value > cache_device.disk_type.value,
            TestRun.dut.disks))

    cache_device.create_partitions([Size(500, Unit.MebiByte)])
    core_device.create_partitions([Size(1, Unit.GibiByte)])

    cache_device = cache_device.partitions[0]
    core_device = core_device.partitions[0]

    TestRun.LOGGER.info(f"Starting cache")
    cache = casadm.start_cache(cache_device,
                               cache_mode=CacheMode.WB,
                               force=True)
    TestRun.LOGGER.info(f"Setting cleaning policy to NOP")
    casadm.set_param_cleaning(cache_id=cache.cache_id,
                              policy=CleaningPolicy.nop)
    TestRun.LOGGER.info(f"Adding core device")
    core = casadm.add_core(cache, core_dev=core_device)

    ioclass_config.create_ioclass_config(
        add_default_rule=False, ioclass_config_path=ioclass_config_path)
    # To make test more precise all workload except of tested ioclass should be
    # put in pass-through mode
    ioclass_config.add_ioclass(
        ioclass_id=0,
        eviction_priority=22,
        allocation=False,
        rule="unclassified",
        ioclass_config_path=ioclass_config_path,
    )

    output = TestRun.executor.run(f"mkdir -p {mountpoint}")
    if output.exit_code != 0:
        raise Exception(f"Failed to create mountpoint")

    return cache, core
コード例 #4
0
def prepare():
    base_prepare()