aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/docker/kibana/restore.py
diff options
context:
space:
mode:
authorSébastien Determe <sebastien.determe@intl.att.com>2020-02-10 17:31:22 +0000
committerGerrit Code Review <gerrit@onap.org>2020-02-10 17:31:22 +0000
commit041255236fde0fbe4c10533d5fc99dcc74db575f (patch)
treedeb7cfda039fb7a9482cce80e70541ac7bafb910 /src/main/docker/kibana/restore.py
parent2edce92732cfd5513c6bd9665ac808c4ecce85dc (diff)
parente06b7efed417389decbf043b5fa7bf7253652583 (diff)
Merge "Removal of ELK"
Diffstat (limited to 'src/main/docker/kibana/restore.py')
-rwxr-xr-xsrc/main/docker/kibana/restore.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/main/docker/kibana/restore.py b/src/main/docker/kibana/restore.py
deleted file mode 100755
index eee2e6b7..00000000
--- a/src/main/docker/kibana/restore.py
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env python
-###
-# ============LICENSE_START=======================================================
-# ONAP CLAMP
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights
-# reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END============================================
-# ===================================================================
-#
-###
-import json
-import logging
-import os
-import sys
-
-import requests
-
-if sys.version_info < (3,):
- # for HTTPStatus.OK only
- import httplib as HTTPStatus
-else:
- from http import HTTPStatus
-
-
-
-OBJECT_TYPES = ['index-pattern', 'config', 'search', 'visualization', 'dashboard']
-
-def parse_args(args):
- """ Parse arguments given to this script"""
- import argparse
- parser = argparse.ArgumentParser(
- description=('Restores the kibana configuration.'))
- parser.add_argument('-v', '--verbose', dest='log_level', action='store_const',
- const=logging.DEBUG, default=logging.INFO,
- help='Use verbose logging')
- parser.add_argument('-C', '--configuration_path',
- default='./default',
- help=('Path of the configuration to be restored.'
- 'Should contain at least one folder named %s or %s' %
- (','.join(OBJECT_TYPES[:-1]), OBJECT_TYPES[-1])
- )
- )
- parser.add_argument('-H', '--kibana-host', default='https://localhost:5601',
- help='Kibana endpoint.')
- parser.add_argument('-f', '--force', action='store_const',
- const=True, default=False,
- help='Overwrite configuration if needed.')
-
- return parser.parse_args(args)
-
-def get_logger(args):
- """Creates the logger based on the provided arguments"""
- logging.basicConfig()
- logger = logging.getLogger(__name__)
- logger.setLevel(args.log_level)
- return logger
-
-def main():
- ''' Main script function'''
- args = parse_args(sys.argv[1:])
- logger = get_logger(args)
- base_config_path = args.configuration_path
-
- # order to ensure dependency order is ok
- for obj_type in OBJECT_TYPES:
- obj_dir = os.path.sep.join((base_config_path, obj_type))
-
- if not os.path.exists(obj_dir):
- logger.info('No %s to restore, skipping.', obj_type)
- continue
-
- for obj_filename in os.listdir(obj_dir):
- with open(os.path.sep.join((obj_dir, obj_filename))) as obj_file:
- payload = obj_file.read()
-
- obj = json.loads(payload)
-
- obj_id = obj['id']
- for key in ('id', 'version', 'type', 'updated_at'):
- try:
- del obj[key]
- except KeyError:
- logger.info("Could not find key %s in %s[%s]", key, obj_type, obj_id)
-
- logger.info('Restoring %s id:%s (overwrite:%s)', obj_type, obj_id, args.force)
- url = "%s/api/saved_objects/%s/%s" % (args.kibana_host.rstrip("/"), obj_type, obj_id)
- params = {'overwrite': True} if args.force else {}
- post_object_req = requests.post(url, auth=('admin', 'admin'), verify=False,
- headers={'content-type': 'application/json',
- 'kbn-xsrf': 'True'},
- params=params,
- data=json.dumps(obj))
- if post_object_req.status_code == HTTPStatus.OK:
- logger.info('%s id:%s restored.', obj_type, obj_id)
- else:
- logger.warning(('Something bad happend while restoring %s id:%s. '
- ' Received status code: %s'),
- obj_type, obj_id, post_object_req.status_code)
- logger.warning('Body: %s', post_object_req.content)
-
-if __name__ == "__main__":
- main()