From 354afd448cefc348f185b9adc4b5e6d38f96a3b0 Mon Sep 17 00:00:00 2001 From: Morgan Richomme Date: Tue, 4 Jul 2017 17:23:33 +0200 Subject: Initiate packetization of Testing reporting Testing reporting provides - static reporting pages [1] (jinja2) - landing pages including test case catalogue [2] (angular) It consumes the Test API to build web pages providing status for the testing projects (so far functest, yardstick, storperf and qtip). Dockerization has been initiated [3]. The goal is to replace the static page hosted on testresults.opnfv.org by a docker regenerated and redeployed when reporting code is changed But the docker and more generally the testing reporting directory must be refactored to - manage dependencies properly - leverage tox (py27, docs, pylint, pep8) This patch - setups tox (py27, pep8, pylint, docs) - integrate the requirement management - fix pep8 errors - introduce 1 dummy unit test This patch does not - fix pylint errors - create any doc [1]: http://testresults.opnfv.org/reporting2/display/index.html [2]: http://testresults.opnfv.org/reporting2/reporting/index.html [3]: https://gerrit.opnfv.org/gerrit/#/c/36735/ Change-Id: I4613de7ca7036d6c6bbb8f58ade492b1d673599b Signed-off-by: Morgan Richomme --- utils/test/reporting/qtip/__init__.py | 0 utils/test/reporting/qtip/index.html | 51 ---------- utils/test/reporting/qtip/reporting-status.py | 110 --------------------- .../reporting/qtip/template/index-status-tmpl.html | 86 ---------------- 4 files changed, 247 deletions(-) delete mode 100644 utils/test/reporting/qtip/__init__.py delete mode 100644 utils/test/reporting/qtip/index.html delete mode 100644 utils/test/reporting/qtip/reporting-status.py delete mode 100644 utils/test/reporting/qtip/template/index-status-tmpl.html (limited to 'utils/test/reporting/qtip') diff --git a/utils/test/reporting/qtip/__init__.py b/utils/test/reporting/qtip/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/utils/test/reporting/qtip/index.html b/utils/test/reporting/qtip/index.html deleted file mode 100644 index 0f9df8564..000000000 --- a/utils/test/reporting/qtip/index.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - -
-
-

QTIP reporting page

- -
-
-
-
-
-

QTIP

- QTIP is used in OPNFV for verifying the OPNFV infrastructure and some of the OPNFV features. -
The QTIP framework is deployed in several OPNFV community labs. -
It is installer, infrastructure and application independent. - -

Useful Links

-
  • QTIP in Depth
  • -
  • QTIP Repo
  • -
  • QTIP Project
  • -
  • QTIP Jenkins page
  • -
  • JIRA
  • - -
    -
    -
    -
    diff --git a/utils/test/reporting/qtip/reporting-status.py b/utils/test/reporting/qtip/reporting-status.py deleted file mode 100644 index 5967cf6b9..000000000 --- a/utils/test/reporting/qtip/reporting-status.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/python -# -# This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -import datetime -import os - -import jinja2 -import utils.reporting_utils as rp_utils -import utils.scenarioResult as sr - -installers = rp_utils.get_config('general.installers') -versions = rp_utils.get_config('general.versions') -PERIOD = rp_utils.get_config('general.period') - -# Logger -logger = rp_utils.getLogger("Qtip-Status") -reportingDate = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") - -logger.info("*******************************************") -logger.info("* Generating reporting scenario status *") -logger.info("* Data retention = %s days *" % PERIOD) -logger.info("* *") -logger.info("*******************************************") - - -def prepare_profile_file(version): - profile_dir = './display/{}/qtip'.format(version) - if not os.path.exists(profile_dir): - os.makedirs(profile_dir) - - profile_file = '{}/scenario_history.txt'.format(profile_dir, version) - if not os.path.exists(profile_file): - with open(profile_file, 'w') as f: - info = 'date,scenario,installer,details,score\n' - f.write(info) - f.close() - return profile_file - - -def profile_results(results, installer, profile_fd): - result_criterias = {} - for s_p, s_p_result in results.iteritems(): - ten_criteria = len(s_p_result) - ten_score = sum(s_p_result) - - LASTEST_TESTS = rp_utils.get_config( - 'general.nb_iteration_tests_success_criteria') - four_result = s_p_result[:LASTEST_TESTS] - four_criteria = len(four_result) - four_score = sum(four_result) - - s_four_score = str(four_score / four_criteria) - s_ten_score = str(ten_score / ten_criteria) - - info = '{},{},{},{},{}\n'.format(reportingDate, - s_p, - installer, - s_ten_score, - s_four_score) - profile_fd.write(info) - result_criterias[s_p] = sr.ScenarioResult('OK', - s_four_score, - s_ten_score, - '100') - - logger.info("--------------------------") - return result_criterias - - -def render_html(prof_results, installer, version): - template_loader = jinja2.FileSystemLoader(".") - template_env = jinja2.Environment(loader=template_loader, - autoescape=True) - - template_file = "./qtip/template/index-status-tmpl.html" - template = template_env.get_template(template_file) - - render_outcome = template.render(prof_results=prof_results, - installer=installer, - period=PERIOD, - version=version, - date=reportingDate) - - with open('./display/{}/qtip/status-{}.html'.format(version, installer), - 'wb') as fh: - fh.write(render_outcome) - - -def render_reporter(): - for version in versions: - profile_file = prepare_profile_file(version) - profile_fd = open(profile_file, 'a') - for installer in installers: - results = rp_utils.getQtipResults(version, installer) - prof_results = profile_results(results, installer, profile_fd) - render_html(prof_results=prof_results, - installer=installer, - version=version) - profile_fd.close() - logger.info("Manage export CSV") - rp_utils.generate_csv(profile_file) - logger.info("CSV generated...") - -if __name__ == '__main__': - render_reporter() diff --git a/utils/test/reporting/qtip/template/index-status-tmpl.html b/utils/test/reporting/qtip/template/index-status-tmpl.html deleted file mode 100644 index 26da36ceb..000000000 --- a/utils/test/reporting/qtip/template/index-status-tmpl.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - -
    -
    -

    QTIP status page ({{version}}, {{date}})

    - -
    -
    -
    -
    - - -
    -

    List of last scenarios ({{version}}) run over the last {{period}} days

    - - - - - - - - {% for scenario,result in prof_results.iteritems() -%} - - - - - - - {%- endfor %} -
    Pod/ScenarioTrendLast 4 IterationsLast 10 Days
    {{scenario}}
    {{prof_results[scenario].getFourDaysScore()}}{{prof_results[scenario].getTenDaysScore()}}
    -
    - - -
    -
    -
    -- cgit 1.2.3-korg