return self.logger
-class KibanaDashboardLogger(Logger):
+class DashboardLogger(Logger):
file_path = '/var/log/kibana_dashboard'
def __init__(self, logger_name):
- super(KibanaDashboardLogger, self).__init__(logger_name)
+ super(DashboardLogger, self).__init__(logger_name)
"""
def __init__(self):
- self._default_config_location = "./config.ini"
+ self._default_config_location = "../etc/config.ini"
self.elastic_url = 'http://localhost:9200'
self.elastic_creds = None
self.destination = 'elasticsearch'
import yaml
-with open('./testcases.yaml') as f:
+with open('./functest/testcases.yaml') as f:
testcases_yaml = yaml.safe_load(f)
f.close()
import argparse
-import logger_utils
-import shared_utils
-import testcases_parser
-from config import APIConfig
+from common import logger_utils, elastic_access
+from conf import testcases
+from conf.config import APIConfig
-logger = logger_utils.KibanaDashboardLogger('elastic2kibana').get
+logger = logger_utils.DashboardLogger('elastic2kibana').get
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--config-file",
args = parser.parse_args()
CONF = APIConfig().parse(args.config_file)
+base_elastic_url = CONF.elastic_url
+generate_inputs = CONF.is_js
+input_file_path = CONF.js_path
+kibana_url = CONF.kibana_url
+es_creds = CONF.elastic_creds
_installers = {'fuel', 'apex', 'compass', 'joid'}
for visualization in self._kibana_visualizations:
url = urlparse.urljoin(base_elastic_url, '/.kibana/visualization/{}'.format(visualization.id))
logger.debug("publishing visualization '{}'".format(url))
- shared_utils.publish_json(visualization, es_creds, url)
+ elastic_access.publish_json(visualization, es_creds, url)
def _construct_panels(self):
size_x = 6
def _publish(self):
url = urlparse.urljoin(base_elastic_url, '/.kibana/dashboard/{}'.format(self.id))
logger.debug("publishing dashboard '{}'".format(url))
- shared_utils.publish_json(self, es_creds, url)
+ elastic_access.publish_json(self, es_creds, url)
def publish(self):
self._publish_visualizations()
}
})
- elastic_data = shared_utils.get_elastic_docs(urlparse.urljoin(base_elastic_url, '/test_results/mongo2elastic'),
- es_creds, query_json)
+ elastic_data = elastic_access.get_elastic_docs(urlparse.urljoin(base_elastic_url, '/test_results/mongo2elastic'),
+ es_creds, query_json)
pods_and_scenarios = {}
:return: list of KibanaDashboards
"""
kibana_dashboards = []
- for project, case_dicts in testcases_parser.testcases_yaml.items():
+ for project, case_dicts in testcases.testcases_yaml.items():
for case in case_dicts:
case_name = case.get('name')
visualizations = case.get('visualizations')
js_file_fdesc.write(str(js_dict).replace("u'", "'"))
-if __name__ == '__main__':
- base_elastic_url = CONF.elastic_url
- generate_inputs = CONF.is_js
- input_file_path = CONF.js_path
- kibana_url = CONF.kibana_url
- es_creds = CONF.elastic_creds
-
+def main():
dashboards = construct_dashboards()
for kibana_dashboard in dashboards:
--- /dev/null
+from elastic2kibana.main import main
+
+if __name__ == '__main__':
+ main()
import argparse
-import logger_utils
-import mongo2elastic_format
-import shared_utils
-import testcases_parser
-from config import APIConfig
+from common import logger_utils, elastic_access
+from conf import testcases
+from conf.config import APIConfig
+from mongo2elastic import format
-logger = logger_utils.KibanaDashboardLogger('mongo2elastic').get
+logger = logger_utils.DashboardLogger('mongo2elastic').get
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--config-file",
def format(self):
try:
if self._verify_document() and self.fmt:
- self.is_formatted = vars(mongo2elastic_format)[self.fmt](self.doc)
+ self.is_formatted = vars(format)[self.fmt](self.doc)
else:
self.is_formatted = False
except Exception:
self._publish()
def _publish(self):
- status, data = shared_utils.publish_json(self.doc, self.creds, self.to)
+ status, data = elastic_access.publish_json(self.doc, self.creds, self.to)
if status > 300:
logger.error('Publish record[{}] failed, due to [{}]'
.format(self.doc, json.loads(data)['error']['reason']))
exit(-1)
def get_existed_docs(self):
- self.existed_docs = shared_utils.get_elastic_docs_by_days(self.elastic_url, self.creds, self.days)
+ self.existed_docs = elastic_access.get_elastic_docs_by_days(self.elastic_url, self.creds, self.days)
return self
def publish(self):
if to == 'elasticsearch':
to = base_elastic_url
- for project, case_dicts in testcases_parser.testcases_yaml.items():
+ for project, case_dicts in testcases.testcases_yaml.items():
for case_dict in case_dicts:
case = case_dict.get('name')
- fmt = testcases_parser.compose_format(case_dict.get('format'))
+ fmt = testcases.compose_format(case_dict.get('format'))
DocumentsPublisher(project,
case,
fmt,
base_elastic_url,
es_creds,
to).export().get_existed_docs().publish()
-
-
-if __name__ == '__main__':
- main()
\ No newline at end of file
--- /dev/null
+from mongo2elastic.main import main
+
+if __name__ == '__main__':
+ main()
destination = elasticsearch
[kibana]
-url = http://10.63.243.17/kibana/app/kibana
+url = http://10.63.243.17:5601/app/kibana
js = true
js_path = /usr/share/nginx/html/kibana_dashboards/conf.js
import argparse
-import shared_utils
+from dashboard.common import elastic_access
logger = logging.getLogger('clear_kibana')
logger.setLevel(logging.DEBUG)
def delete_all(url, es_creds):
- ids = shared_utils.get_elastic_docs(url, es_creds, body=None, field='_id')
+ ids = elastic_access.get_elastic_docs(url, es_creds, body=None, field='_id')
for id in ids:
del_url = '/'.join([url, id])
- shared_utils.delete_request(del_url, es_creds)
+ elastic_access.delete_request(del_url, es_creds)
if __name__ == '__main__':