|
|
|
|
@ -1,9 +1,13 @@
|
|
|
|
|
# Copyright (C) 2021 Intel Corporation
|
|
|
|
|
#
|
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
|
|
#/usr/bin/env python
|
|
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
import argparse
|
|
|
|
|
import requests
|
|
|
|
|
import json
|
|
|
|
|
from time import sleep
|
|
|
|
|
import requests
|
|
|
|
|
|
|
|
|
|
def import_resources(host, port, cfg_file):
|
|
|
|
|
with open(cfg_file, 'r') as f:
|
|
|
|
|
@ -27,6 +31,19 @@ def import_saved_object(host, port, _type, _id, data):
|
|
|
|
|
headers={'kbn-xsrf': 'true'})
|
|
|
|
|
request.raise_for_status()
|
|
|
|
|
|
|
|
|
|
def wait_for_status(host, port, status='green', max_attempts=10, delay=3):
|
|
|
|
|
for _ in range(max_attempts):
|
|
|
|
|
response = requests.get('http://{}:{}/api/status'.format(host, port))
|
|
|
|
|
if response.status_code != 200:
|
|
|
|
|
sleep(delay)
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
response = response.json()
|
|
|
|
|
if status == response['status']['overall']['state']:
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
parser = argparse.ArgumentParser(description='import Kibana 6.x resources',
|
|
|
|
|
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
|
|
|
|
@ -37,4 +54,8 @@ if __name__ == '__main__':
|
|
|
|
|
parser.add_argument('-H', '--host', metavar='HOST', default='kibana',
|
|
|
|
|
help='host of Kibana instance')
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
import_resources(args.host, args.port, args.export_file)
|
|
|
|
|
|
|
|
|
|
if wait_for_status(args.host, args.port):
|
|
|
|
|
import_resources(args.host, args.port, args.export_file)
|
|
|
|
|
else:
|
|
|
|
|
exit('Cannot setup Kibana objects')
|
|
|
|
|
|