コード例 #1
0
def add_data(data):
    """Function store list of builds in database"""

    data = json.loads(data)
    session = db.session()
    add_io_params(session)

    for build_data in data:
        build_id = add_build(session,
                             build_data.pop("build_id"),
                             build_data.pop("name"),
                             build_data.pop("type"),
                             build_data.pop("iso_md5"),
                             )

        creds = {"username": build_data.pop("username"),
                 "password": build_data.pop("password"),
                 "tenant_name": build_data.pop("tenant_name")}

        lab_url = build_data.pop("lab_url")
        lab_name = build_data.pop("lab_name")
        ceph_version = build_data.pop("ceph_version")
        data = collect_lab_data(lab_url, creds)
        data['name'] = lab_name
        info = total_lab_info(data)
        lab_id = add_lab(session, lab_url=lab_name, lab_name=lab_url,
                         ceph_version=ceph_version,
                         fuel_version=data['fuel_version'],
                         data=data, info=info)

        date = build_data.pop("date")
        date = datetime.datetime.strptime(date, "%a %b %d %H:%M:%S %Y")

        for params, [bw, dev] in build_data.items():
            param_comb_id = add_param_comb(session, *params.split(" "))
            result = Result(param_combination_id=param_comb_id,
                            build_id=build_id, bandwith=bw,
                            date=date, lab_id=lab_id)
            session.add(result)
            session.commit()
コード例 #2
0
def get_build_detailed_info(build_name):
    data = get_build_info(build_name)
    return total_lab_info(data)