def run(ceph_cluster, **kw):
    new_fs_name = 'cephfs_ec'
    new_fs_datapool = 'ec_data_pool'
    fs_util = FsUtils(ceph_cluster)
    config = kw.get('config')
    build = config.get('build', config.get('rhbuild'))
    client_info, rc = fs_util.get_clients(build)
    filestore = config.get('filestore')
    k_and_m = config.get('ec-pool-k-m')
    if (filestore is not None and k_and_m is None) or (filestore is None
                                                       and k_and_m is None):
        log.info('tests will run on replicated pool')
        return 0
    elif filestore is not None and k_and_m is not None:
        log.error('Filestore does not support ecpools')
        return 1

    fs_info = fs_util.get_fs_info(client_info['mon_node'][0])
    fs_util.del_cephfs(client_info['mds_nodes'], fs_info.get('fs_name'))
    profile_name = fs_util.create_erasure_profile(client_info['mon_node'][0],
                                                  'ec_profile', k_and_m[0],
                                                  k_and_m[2])
    fs_util.create_pool(client_info['mon_node'][0],
                        new_fs_datapool,
                        64,
                        64,
                        pool_type='erasure',
                        profile_name=profile_name)
    fs_util.create_fs(client_info['mds_nodes'],
                      new_fs_name,
                      new_fs_datapool,
                      fs_info.get('metadata_pool_name'),
                      pool_type='erasure_pool')
    time.sleep(100)
    return 0
def run(ceph_cluster, **kw):
    new_fs_name = "cephfs_ec"
    new_fs_datapool = "ec_data_pool"
    fs_util = FsUtils(ceph_cluster)
    config = kw.get("config")
    build = config.get("build", config.get("rhbuild"))
    client_info, rc = fs_util.get_clients(build)
    filestore = config.get("filestore")
    k_and_m = config.get("ec-pool-k-m")
    if (filestore is not None and k_and_m is None) or (
        filestore is None and k_and_m is None
    ):
        log.info("tests will run on replicated pool")
        return 0
    elif filestore is not None and k_and_m is not None:
        log.error("Filestore does not support ecpools")
        return 1

    fs_info = fs_util.get_fs_info(client_info["mon_node"][0])
    fs_util.del_cephfs(client_info["mds_nodes"], fs_info.get("fs_name"))
    profile_name = fs_util.create_erasure_profile(
        client_info["mon_node"][0], "ec_profile", k_and_m[0], k_and_m[2]
    )
    fs_util.create_pool(
        client_info["mon_node"][0],
        new_fs_datapool,
        64,
        64,
        pool_type="erasure",
        profile_name=profile_name,
    )
    fs_util.create_fs(
        client_info["mds_nodes"],
        new_fs_name,
        new_fs_datapool,
        fs_info.get("metadata_pool_name"),
        pool_type="erasure_pool",
    )
    time.sleep(100)
    return 0
示例#3
0
def run(ceph_cluster, **kw):
    try:
        log.info("Running  11333 test")
        fs_util = FsUtils(ceph_cluster)
        client_info, rc = fs_util.get_clients()
        config = kw.get('config')
        k_and_m = config.get('ec-pool-k-m')
        new_fs_name = 'cephfs_new'
        new_fs_datapool = 'data_pool'
        new_pool = 'new_pool'
        fs_info = fs_util.get_fs_info(client_info['mon_node'][0])
        if rc == 0:
            log.info("Got client info")
        else:
            raise CommandFailed("fetching client info failed")
        if k_and_m:
            fs_util.del_cephfs(
                client_info['mds_nodes'], fs_info.get('fs_name'))
            profile_name = fs_util.create_erasure_profile(
                client_info['mon_node'][0], 'ec_profile_new', k_and_m[0], k_and_m[2])
            fs_util.create_pool(
                client_info['mon_node'][0],
                new_fs_datapool,
                64,
                64,
                pool_type='erasure',
                profile_name=profile_name)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'),
                pool_type='erasure_pool')
            fs_util.del_cephfs(client_info['mds_nodes'], new_fs_name)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'),
                pool_type='erasure_pool')
            fs_util.set_attr(client_info['mds_nodes'], new_fs_name)
            fs_util.create_pool(
                client_info['mon_node'][0],
                new_pool,
                64,
                64,
                pool_type='erasure',
                profile_name=profile_name)
            fs_util.add_pool_to_fs(
                client_info['mon_node'][0], new_fs_name, new_pool)
            fs_util.remove_pool_from_fs(
                client_info['mon_node'][0], new_fs_name, new_pool)
            fs_util.del_cephfs(client_info['mds_nodes'], new_fs_name)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'),
                pool_type='erasure_pool')
        else:
            fs_util.del_cephfs(
                client_info['mds_nodes'],
                fs_info.get('fs_name'))
            fs_util.create_pool(
                client_info['mon_node'][0], new_fs_datapool, 64, 64)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'))
            fs_util.del_cephfs(client_info['mds_nodes'], new_fs_name)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'))
            fs_util.set_attr(client_info['mds_nodes'], new_fs_name)
            fs_util.create_pool(client_info['mon_node'][0], new_pool, 64, 64)
            fs_util.add_pool_to_fs(
                client_info['mon_node'][0], new_fs_name, new_pool)
            fs_util.remove_pool_from_fs(
                client_info['mon_node'][0], new_fs_name, new_pool)
            fs_util.del_cephfs(client_info['mds_nodes'], new_fs_name)
            fs_util.create_fs(
                client_info['mds_nodes'],
                new_fs_name,
                new_fs_datapool,
                fs_info.get('metadata_pool_name'))

        return 0
    except CommandFailed as e:
        log.info(e)
        log.info(traceback.format_exc())
        return 1

    except Exception as e:
        log.info(e)
        log.info(traceback.format_exc())
        return 1
示例#4
0
def run(ceph_cluster, **kw):
    try:
        log.info("Running  11333 test")
        fs_util = FsUtils(ceph_cluster)
        config = kw.get("config")
        build = config.get("build", config.get("rhbuild"))
        client_info, rc = fs_util.get_clients(build)
        k_and_m = config.get("ec-pool-k-m")
        new_fs_name = "cephfs_new"
        new_fs_datapool = "data_pool"
        new_pool = "new_pool"
        fs_info = fs_util.get_fs_info(client_info["mon_node"][0])
        if rc == 0:
            log.info("Got client info")
        else:
            raise CommandFailed("fetching client info failed")
        if k_and_m:
            fs_util.del_cephfs(client_info["mds_nodes"],
                               fs_info.get("fs_name"))
            profile_name = fs_util.create_erasure_profile(
                client_info["mon_node"][0], "ec_profile_new", k_and_m[0],
                k_and_m[2])
            fs_util.create_pool(
                client_info["mon_node"][0],
                new_fs_datapool,
                64,
                64,
                pool_type="erasure",
                profile_name=profile_name,
            )
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
                pool_type="erasure_pool",
            )
            fs_util.del_cephfs(client_info["mds_nodes"], new_fs_name)
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
                pool_type="erasure_pool",
            )
            fs_util.set_attr(client_info["mds_nodes"], new_fs_name)
            fs_util.create_pool(
                client_info["mon_node"][0],
                new_pool,
                64,
                64,
                pool_type="erasure",
                profile_name=profile_name,
            )
            fs_util.add_pool_to_fs(client_info["mon_node"][0], new_fs_name,
                                   new_pool)
            fs_util.remove_pool_from_fs(client_info["mon_node"][0],
                                        new_fs_name, new_pool)
            fs_util.del_cephfs(client_info["mds_nodes"], new_fs_name)
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
                pool_type="erasure_pool",
            )
        else:
            fs_util.del_cephfs(client_info["mds_nodes"],
                               fs_info.get("fs_name"))
            fs_util.create_pool(client_info["mon_node"][0], new_fs_datapool,
                                64, 64)
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
            )
            fs_util.del_cephfs(client_info["mds_nodes"], new_fs_name)
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
            )
            fs_util.set_attr(client_info["mds_nodes"], new_fs_name)
            fs_util.create_pool(client_info["mon_node"][0], new_pool, 64, 64)
            fs_util.add_pool_to_fs(client_info["mon_node"][0], new_fs_name,
                                   new_pool)
            fs_util.remove_pool_from_fs(client_info["mon_node"][0],
                                        new_fs_name, new_pool)
            fs_util.del_cephfs(client_info["mds_nodes"], new_fs_name)
            fs_util.create_fs(
                client_info["mds_nodes"],
                new_fs_name,
                new_fs_datapool,
                fs_info.get("metadata_pool_name"),
            )

        return 0
    except CommandFailed as e:
        log.info(e)
        log.info(traceback.format_exc())
        return 1

    except Exception as e:
        log.info(e)
        log.info(traceback.format_exc())
        return 1