def run(**kw):
    start = timeit.default_timer()
    log.info("Running cephfs CRITICAL test")
    ceph_nodes = kw.get("ceph_nodes")
    config = kw.get("config")
    num_of_dirs = config.get("num_of_dirs")
    (
        fuse_clients,
        kernel_clients,
        mon_node,
        mounting_dir,
        mds_nodes,
        _,
        mon_node_ip,
    ) = utils.get_client_info(ceph_nodes, utils.clients)
    num_of_dirs = num_of_dirs / 5
    utils.activate_multiple_mdss(mds_nodes)
    print(
        "###################################################################################"
    )
    log.info("Execution of Test case 11229 started:")
    tc = "11129"
    with parallel() as p:
        p.spawn(utils.mkdir_pinning, fuse_clients, 0, num_of_dirs, "dir", 0)
        p.spawn(utils.mkdir_pinning, fuse_clients, num_of_dirs,
                num_of_dirs * 2, "dir", 0)
        p.spawn(
            utils.mkdir_pinning,
            fuse_clients,
            num_of_dirs * 2,
            num_of_dirs * 3,
            "dir",
            0,
        )
        p.spawn(
            utils.mkdir_pinning,
            fuse_clients,
            num_of_dirs * 3,
            num_of_dirs * 4,
            "dir",
            0,
        )
        p.spawn(
            utils.mkdir_pinning,
            kernel_clients,
            num_of_dirs * 4,
            num_of_dirs * 5,
            "dir",
            1,
        )

    with parallel() as p:
        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            1,
            0,
            num_of_dirs / 2,
        )
        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            2,
            num_of_dirs / 2,
            num_of_dirs,
        )
        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            1,
            num_of_dirs * 4,
            num_of_dirs * 4 + 10,
        )

    log.info("Execution of Test case 11229 ended:")
    tc = utils.rc_verify(tc, utils.RC)
    utils.output.append(tc)

    print(
        "###################################################################################"
    )
    log.info("Execution of Test case 11228 started:")
    tc = "11128"

    with parallel() as p:
        p.spawn(
            utils.mkdir_pinning,
            fuse_clients,
            num_of_dirs * 6,
            num_of_dirs * 11,
            "dir",
            0,
        )
        p.spawn(
            utils.mkdir_pinning,
            kernel_clients,
            num_of_dirs * 11,
            num_of_dirs * 21,
            "dir",
            1,
        )

    with parallel() as p:
        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            10,
            num_of_dirs * 6,
            num_of_dirs * 7,
        )
        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            20,
            num_of_dirs * 7,
            num_of_dirs * 8,
        )

    log.info("Execution of Test case 11228 ended:")
    tc = utils.rc_verify(tc, utils.RC)
    utils.output.append(tc)
    print(
        "###################################################################################"
    )
    log.info("Execution of Test case 11230 started:")
    tc = "11130"
    with parallel() as p:

        p.spawn(
            utils.mkdir_pinning,
            fuse_clients,
            num_of_dirs * 21,
            num_of_dirs * 21 + 25,
            "dir",
            0,
        )

        p.spawn(
            utils.mkdir_pinning,
            kernel_clients,
            num_of_dirs * 21 + 25,
            num_of_dirs * 21 + 50,
            "dir",
            1,
        )

    with parallel() as p:

        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            10,
            num_of_dirs * 21,
            num_of_dirs * 21 + 25,
        )

        p.spawn(
            utils.pinned_dir_io,
            kernel_clients,
            utils.mds_fail_over,
            20,
            num_of_dirs * 21 + 25,
            num_of_dirs * 21 + 50,
        )

    log.info("Execution of Test case 11230 ended:")

    tc = utils.rc_verify(tc, utils.RC)
    utils.output.append(tc)
    print(
        "###################################################################################"
    )
    print("TESTS completed")
    print("Results:")
    for i in utils.output:
        print(i)
    for i, j in utils.failure.items():
        print("client: %s Failure:%s " % (i, j))

    print("Script execution time:------")
    stop = timeit.default_timer()
    total_time = stop - start

    mins, secs = divmod(total_time, 60)
    hours, mins = divmod(mins, 60)

    print("Hours:%d Minutes:%d Seconds:%f" % (hours, mins, secs))

    return 0
示例#2
0
def run(**kw):
    start = timeit.default_timer()
    log.info("Running cephfs CRITICAL test")
    ceph_nodes = kw.get("ceph_nodes")
    (
        fuse_clients,
        kernel_clients,
        mon_node,
        mounting_dir,
        mds_nodes,
        md5sum_file_lock,
        mon_node_ip,
    ) = utils.get_client_info(ceph_nodes, utils.clients)
    utils.auth_list(utils.clients, mon_node)
    md5sum_list1 = utils.fuse_mount(fuse_clients, mounting_dir)
    md5sum_list2 = utils.kernel_mount(mounting_dir, mon_node_ip,
                                      kernel_clients)
    log.info("Test started for CEPH-10528:")

    with parallel() as p:
        for client in fuse_clients:
            p.spawn(utils.fuse_client_io, client, mounting_dir)

    with parallel() as p:
        for client in kernel_clients:
            p.spawn(utils.kernel_client_io, client, mounting_dir)

    utils.fuse_client_md5(fuse_clients, md5sum_list1)

    utils.kernel_client_md5(kernel_clients, md5sum_list2)

    sorted(md5sum_list1)

    sorted(md5sum_list2)

    log.info("Test completed for CEPH-10528:")
    print(md5sum_list1)
    print(md5sum_list2)
    if md5sum_list1 == md5sum_list2:
        log.info("Data consistancy found, Test case CEPH-10528 passed")
    else:
        log.error("Test case CEPH-10528 Failed")
    print("#" * 120)

    log.info("Test for CEPH-10529 will start:")
    with parallel() as p:
        for client in fuse_clients:
            p.spawn(utils.file_locking, client)
    print("-----------------------------------------")

    print(md5sum_file_lock)

    if md5sum_file_lock[0] == md5sum_file_lock[1]:

        log.info(
            "File Locking mechanism is working,data is not corrupted,test case CEPH-10529 passed"
        )

    else:
        log.error(
            "File Locking mechanism is failed,data is corruptedtTest case CEPH-10529 Failed"
        )

    log.info("Test completed for CEPH-10529")

    print("Script execution time:------")

    stop = timeit.default_timer()
    total_time = stop - start
    mins, secs = divmod(total_time, 60)
    hours, mins = divmod(mins, 60)
    print("Hours:%d Minutes:%d Seconds:%f" % (hours, mins, secs))

    return 0