#!/usr/bin/env python3 # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 import os import json import argparse from opensearchpy import OpenSearch from opensearchpy.helpers import bulk host = "dashboards.staging.zephyrproject.io" port = 443 def main(): args = parse_args() if args.user and args.password: auth = (args.user, args.password) else: auth = (os.environ['OPENSEARCH_USER'], os.environ['OPENSEARCH_PASS']) client = OpenSearch( hosts = [{'host': host, 'port': port}], http_auth=auth, use_ssl=True, verify_certs = False, ssl_assert_hostname = False, ssl_show_warn = False, ) index_name = args.index for f in args.files: with open(f, "r") as j: data = json.load(j) bulk_data = [] for t in data['testsuites']: t['environment'] = data['environment'] bulk_data.append({ "_index": index_name, "_id": t['run_id'], "_source": t } ) bulk(client, bulk_data) def parse_args(): parser = argparse.ArgumentParser(allow_abbrev=False) parser.add_argument('-u', '--user', help='username') parser.add_argument('-p', '--password', help='password') parser.add_argument('-i', '--index', help='index to push to.', required=True) parser.add_argument('files', metavar='FILE', nargs='+', help='file with test data.') args = parser.parse_args() return args if __name__ == '__main__': main()