aboutsummaryrefslogtreecommitdiffstats
path: root/deploy
@media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
# Copyright 2015 Intel Corporation.
#
# 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.

"""
vSwitch Characterization Report Generation.

Generate reports in format defined by X.
"""

import sys
import os
import jinja2
import logging

from core.results.results_constants import ResultsConstants
from conf import settings
from tools import systeminfo

_TEMPLATE_FILE = 'report.jinja'
_ROOT_DIR = os.path.normpath(os.path.dirname(os.path.realpath(__file__)))


def _get_env():
    """
    Get system configuration.

    :returns: Return a dictionary of the test environment.
              The following is an example return value:
               {'kernel': '3.10.0-229.4.2.el7.x86_64',
                'os': 'OS Version',
                'cpu': ' CPU 2.30GHz',
                'platform': '[2 sockets]',
                'nic': 'NIC'}

    """

    env = {
        'os': systeminfo.get_os(),
        'kernel': systeminfo.get_kernel(),
        'nic': systeminfo.get_nic(),
        'cpu': systeminfo.get_cpu(),
        'cpu_cores': systeminfo.get_cpu_cores(),
        'memory' : systeminfo.get_memory(),
        'platform': systeminfo.get_platform(),
    }

    return env


def generate(input_file, tc_results, tc_stats):
    """Generate actual report.

    Generate a Markdown-formatted file using results of tests and some
    parsed system info.

    :param input_file: Path to CSV results file

    :returns: Path to generated report
    """
    output_file = '.'.join([os.path.splitext(input_file)[0], 'md'])

    template_loader = jinja2.FileSystemLoader(searchpath=_ROOT_DIR)
    template_env = jinja2.Environment(loader=template_loader)
    template = template_env.get_template(_TEMPLATE_FILE)

    tests = []
    try:
        for result in tc_results:
            test_config = {}
            for tc_conf in settings.getValue('PERFORMANCE_TESTS'):
                if tc_conf['Name'] == result[ResultsConstants.ID]:
                    test_config = tc_conf
                    break

            # remove id and deployment from results but store their values
            tc_id = result[ResultsConstants.ID]
            tc_deployment = result[ResultsConstants.DEPLOYMENT]
            del result[ResultsConstants.ID]
            del result[ResultsConstants.DEPLOYMENT]

            # pass test results, env details and configuration to template
            tests.append({
                'ID': tc_id.upper(),
                'id': tc_id,
                'deployment': tc_deployment,
                'conf': test_config,
                'result': result,
                'env': _get_env(),
                'stats': tc_stats
            })

        template_vars = {
            'tests': tests,
        }

        output_text = template.render(template_vars) #pylint: disable=no-member
        with open(output_file, 'w') as file_:
            file_.write(output_text)
            logging.info('Test report written to "%s"', output_file)

    except KeyError:
        logging.info("Report: Ignoring file (Wrongly defined columns): %s",
                     (input_file))
        raise
    return output_file


if __name__ == '__main__':
    settings.load_from_dir('conf')
    OUT = generate(sys.argv[1], '', '')
    print('Test report written to "%s"...' % OUT)
AgeCommit message (Collapse)AuthorFilesLines
2016-09-08Merge "Install some dependent packages on jump host for ansible ↵shuai chen1-8/+10
installation" into stable/colorado
2016-09-06Install some dependent packages on jump host for ansible installationYifei Xue1-8/+10
JIRA: COMPASS-462 Change-Id: Iab0026e85c61c919988664413d3ab64a446ab000 Signed-off-by: Yifei Xue <xueyifei@huawei.com> (cherry picked from commit da5d5436cca3f09334327e594ad629373c4471d7)
2016-09-06Add heat user domain configurationQiLiang7-40/+51
FIX Rally heat create_update_delete_stack test case failure for Liberty Ubuntu JIRA: COMPASS-454 Change-Id: Id4538f9caa5b619d66ab8fe97c63b10688ffe104 Signed-off-by: QiLiang <liangqi1@huawei.com> (cherry picked from commit 8e21cb6530e6e55d8a080887dfbf93f0d07edeb1)
2016-09-02bugfix: disable dlux in ODL for Centos due to conflict with ovs-openstackchenshuai@huawei.com4-2/+81
JIRA: COMPASS-477 Change-Id: If9f1de6bcfde94cbb2cc3777d6ef0de78ba5ef31 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> (cherry picked from commit 656bcf9c142e98f5fcdcc4e4eb31d277e9bed49e)
2016-09-01bugfix:enable metadata in DHCP for odl l3chenshuai@huawei.com4-6/+12
org/avatar/ae17b60e29c46ecb72eaf17068f20600?s=128&d=retro' />shuai chen15-0/+34 2016-08-08[bugfix] miss osd in ceph deploymentmeimei15-0/+34 Change-Id: Ibc9d0200c960f4ccba8f44386d997be1b9cdddc2 Signed-off-by: meimei <meimei@huawei.com> 2016-08-08[compass] support moon deploymentmeimei3-0/+200 Change-Id: Ie29197b6d00d73cea82477e3a402c802cfab9e31 Signed-off-by: meimei <meimei@huawei.com> 2016-08-07workaround: modify localhost as 172.16.1.222chenshuai@huawei.com2-1/+923 JIRA: COMPASS-468 Change-Id: I528c5e0e33028da4333cecf5d1c623de1874f4e8 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-05add moon to odlchenshuai@huawei.com2-0/+82 JIRA: COMPASS-467 Change-Id: I9acfa173207f0b4d9e890d389b86a811d1061c44 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-05add moon to opendaylightchenshuai@huawei.com3-0/+68 JIRA: COMPASS-463 Change-Id: I9b3c3fb3377df34004fe78eccc70b28402997949 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-04bugfix moon switchchenshuai@huawei.com2-2/+2 JIRA: COMPASS-465 Change-Id: I7161d8ec018819ac8497b6f323adeafccbc8dfd9 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-04add moon scenario in Compasschenshuai@huawei.com1-0/+4 JIRA: COMPASS-463 Change-Id: Ia51d7d592c0508c104ab42f62fa62693f85f4867 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-05Merge "[compass] deploy ceph on each controller"shuai chen15-0/+60 2016-08-04add moon to opendaylightchenshuai@huawei.com7-130/+165 JIRA: COMPASS-463 Change-Id: I3a5c2ef1e9f5acbcf4de2f0e8e0237142103a179 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-04modify odl rest api port because swift use 8080chenshuai@huawei.com1-2/+2 JIRA: COMPASS-462 Change-Id: I82c7a72437d5c64d01391f5cbb3fad6b5a9d7bd6 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-04Merge "add moon switch in Compass4nfv"chenshuai@huawei.com7-45/+224 2016-08-04[compass] deploy ceph on each controllermeimei15-0/+60 JIRA: compass-450 Change-Id: I1229d382de579659d009785b59663908b42002e4 Signed-off-by: meimei <meimei@huawei.com> 2016-08-04Merge "[lab] replace a new server"shuai chen6-12/+12 2016-08-04avoid needless package reinstallQiLiang2-6/+25 If you do not run deploy.sh for the first time, then export below env before run deploy.sh can avoid needless package reinstall. export DEPLOY_FIRST_TIME="false" JIRA: COMPASS-449 Change-Id: Ia3b51bd02f4a131d57bf5793900faad9e1acb09e Signed-off-by: QiLiang <liangqi1@huawei.com> 2016-08-04add moon switch in Compass4nfvchenshuai@huawei.com7-45/+224 JIRA: COMPASS-461 Change-Id: Ic8343249f3ca31aa6c0d3090428dad4936a7f60c Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-04[lab] replace a new servermeimei6-12/+12 JIRA: PHAROS-242 Change-Id: I255e695309c3f311aaa42ca7f6c9ca78e2f048cd Signed-off-by: meimei <meimei@huawei.com> 2016-08-03bugfix for moon and swiftchenshuai@huawei.com3-8/+40 JIRA: COMPASS-460 Change-Id: I1f70cc0c9ae9285b887b490f964964781571b98d Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com> 2016-08-03Merge "Bug fix for aodh database and conf file"shuai chen14-44/+228