.. raw:: html
<a name="64b-2t1c-features-rdma"></a>
+ <a name="64b-2t1c-features-iacl50-rdma"></a>
+ <a name="64b-2t1c-features-udp-rdma"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t2c-features-rdma"></a>
+ <a name="64b-4t2c-features-iacl50-rdma"></a>
+ <a name="64b-4t2c-features-udp-rdma"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-8t4c-features-rdma"></a>
+ <a name="64b-8t4c-features-iacl50-rdma"></a>
+ <a name="64b-8t4c-features-udp-rdma"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-2t1c-features-avf"></a>
+ <a name="64b-2t1c-features-iacl50-avf"></a>
+ <a name="64b-2t1c-features-oacl50-avf"></a>
+ <a name="64b-2t1c-features-udp-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t2c-features-avf"></a>
+ <a name="64b-4t2c-features-iacl50-avf"></a>
+ <a name="64b-4t2c-features-oacl50-avf"></a>
+ <a name="64b-4t2c-features-udp-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-8t4c-features-avf"></a>
+ <a name="64b-8t4c-features-iacl50-avf"></a>
+ <a name="64b-8t4c-features-oacl50-avf"></a>
+ <a name="64b-8t4c-features-udp-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-2t1c-features-avf"></a>
+ <a name="64b-2t1c-features-iacl50-avf"></a>
+ <a name="64b-2t1c-features-oacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t2c-features-avf"></a>
+ <a name="64b-4t2c-features-iacl50-avf"></a>
+ <a name="64b-4t2c-features-oacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-8t4c-features-avf"></a>
+ <a name="64b-8t4c-features-iacl50-avf"></a>
+ <a name="64b-8t4c-features-oacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-1t1c-features-ixgbe"></a>
+ <a name="64b-1t1c-features-iacl50-ixgbe"></a>
+ <a name="64b-1t1c-features-oacl50-ixgbe"></a>
+ <a name="64b-1t1c-features-udp-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-2t2c-features-ixgbe"></a>
+ <a name="64b-2t2c-features-iacl50-ixgbe"></a>
+ <a name="64b-2t2c-features-oacl50-ixgbe"></a>
+ <a name="64b-2t2c-features-udp-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t4c-features-ixgbe"></a>
+ <a name="64b-4t4c-features-iacl50-ixgbe"></a>
+ <a name="64b-4t4c-features-oacl50-ixgbe"></a>
+ <a name="64b-4t4c-features-udp-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-2t1c-features-avf"></a>
+ <a name="64b-2t1c-features-iacl50-avf"></a>
+ <a name="64b-2t1c-features-oacl50-avf"></a>
+ <a name="64b-2t1c-features-macip-iacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t2c-features-avf"></a>
+ <a name="64b-4t2c-features-iacl50-avf"></a>
+ <a name="64b-4t2c-features-oacl50-avf"></a>
+ <a name="64b-4t2c-features-macip-iacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-8t4c-features-avf"></a>
+ <a name="64b-8t4c-features-iacl50-avf"></a>
+ <a name="64b-8t4c-features-oacl50-avf"></a>
+ <a name="64b-8t4c-features-macip-iacl50-avf"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-1t1c-features-ixgbe"></a>
+ <a name="64b-1t1c-features-iacl50-ixgbe"></a>
+ <a name="64b-1t1c-features-oacl50-ixgbe"></a>
+ <a name="64b-1t1c-features-macip-iacl50-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-2t2c-features-ixgbe"></a>
+ <a name="64b-2t2c-features-iacl50-ixgbe"></a>
+ <a name="64b-2t2c-features-oacl50-ixgbe"></a>
+ <a name="64b-2t2c-features-macip-iacl50-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
.. raw:: html
<a name="64b-4t4c-features-ixgbe"></a>
+ <a name="64b-4t4c-features-iacl50-ixgbe"></a>
+ <a name="64b-4t4c-features-oacl50-ixgbe"></a>
+ <a name="64b-4t4c-features-macip-iacl50-ixgbe"></a>
<center>
Links to builds:
<a href="https://packagecloud.io/app/fdio/master/search?dist=ubuntu%2Fbionic" target="_blank">vpp-ref</a>,
import smtplib
import logging
+import re
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
)
text = u""
- for idx, test_set in enumerate(alert.get(u"include", [])):
+ for idx, test_set in enumerate(alert.get(u"include", list())):
+ try:
+ test_set_short = re.search(
+ re.compile(r'(\dn-(skx|clx|hsw|tsh|dnv)-.*)'),
+ test_set
+ ).group(1)
+ except (AttributeError, IndexError):
+ logging.error(
+ f"The test set {test_set} does not include information "
+ f"about test bed. Using empty string instead."
+ )
+ test_set_short = u""
build, version, passed, failed, failed_tests = \
self._get_compressed_failed_tests(alert, test_set)
if build is None:
if ret_code != 0:
build_nr = u''
text += (
- f"\n\nNo input data available for "
- f"{u'-'.join(test_set.split('-')[-2:])}. See CSIT build "
- f"{alert[u'urls'][idx]}/{build_nr} for more information.\n"
+ f"\n\nNo input data available for {test_set_short}. "
+ f"See CSIT build {alert[u'urls'][idx]}/{build_nr} for more "
+ f"information.\n"
)
continue
text += (
- f"\n\n{test_set.split('-')[-2]}-{test_set.split('-')[-1]}, "
- f"{failed} tests failed, "
- f"{passed} tests passed, CSIT build: "
- f"{alert[u'urls'][idx]}/{build}, VPP version: {version}\n\n"
+ f"\n\n{test_set_short}, {failed} tests failed, {passed} tests "
+ f"passed, CSIT build: {alert[u'urls'][idx]}/{build}, "
+ f"VPP version: {version}\n\n"
)
class MaxLens():
)
gression_hdr = (
- f"\n\n{test_set.split(u'-')[-2]}-{test_set.split(u'-')[-1]}, "
+ f"\n\n{test_set_short}, "
f"CSIT build: {alert[u'urls'][idx]}/{build}, "
f"VPP version: {version}\n\n"
)
else:
driver = u"dpdk"
- if u"acl" in test_name or \
- u"macip" in test_name or \
- u"nat" in test_name or \
- u"policer" in test_name or \
- u"cop" in test_name:
+ if u"macip-iacl1s" in test_name:
+ bsf = u"features-macip-iacl1"
+ elif u"macip-iacl10s" in test_name:
+ bsf = u"features-macip-iacl01"
+ elif u"macip-iacl50s" in test_name:
+ bsf = u"features-macip-iacl50"
+ elif u"iacl1s" in test_name:
+ bsf = u"features-iacl1"
+ elif u"iacl10s" in test_name:
+ bsf = u"features-iacl10"
+ elif u"iacl50s" in test_name:
+ bsf = u"features-iacl50"
+ elif u"oacl1s" in test_name:
+ bsf = u"features-oacl1"
+ elif u"oacl10s" in test_name:
+ bsf = u"features-oacl10"
+ elif u"oacl50s" in test_name:
+ bsf = u"features-oacl50"
+ elif u"udpsrcscale" in test_name:
+ bsf = u"features-udp"
+ elif u"iacl" in test_name:
+ bsf = u"features"
+ elif u"policer" in test_name:
+ bsf = u"features"
+ elif u"cop" in test_name:
+ bsf = u"features"
+ elif u"nat" in test_name:
+ bsf = u"features"
+ elif u"macip" in test_name:
bsf = u"features"
elif u"scale" in test_name:
bsf = u"scale"
if not table.get(u"testbed", None):
logging.error(
f"The testbed is not defined for the table "
- f"{table.get(u'title', u'')}."
+ f"{table.get(u'title', u'')}. Skipping."
)
return
+ test_type = table.get(u"test-type", u"MRR")
+ if test_type not in (u"MRR", u"NDR", u"PDR"):
+ logging.error(
+ f"Test type {table.get(u'test-type', u'MRR')} is not defined. "
+ f"Skipping."
+ )
+ return
+
+ if test_type in (u"NDR", u"PDR"):
+ lnk_dir = u"../ndrpdr_trending/"
+ lnk_sufix = f"-{test_type.lower()}"
+ else:
+ lnk_dir = u"../trending/"
+ lnk_sufix = u""
+
logging.info(f" Generating the table {table.get(u'title', u'')} ...")
try:
tdata,
u"a",
attrib=dict(
- href=f"../trending/"
+ href=f"{lnk_dir}"
f"{_generate_url(table.get(u'testbed', ''), item)}"
+ f"{lnk_sufix}"
)
)
ref.text = item
if not table.get(u"testbed", None):
logging.error(
f"The testbed is not defined for the table "
- f"{table.get(u'title', u'')}."
+ f"{table.get(u'title', u'')}. Skipping."
)
return
+ test_type = table.get(u"test-type", u"MRR")
+ if test_type not in (u"MRR", u"NDR", u"PDR", u"NDRPDR"):
+ logging.error(
+ f"Test type {table.get(u'test-type', u'MRR')} is not defined. "
+ f"Skipping."
+ )
+ return
+
+ if test_type in (u"NDRPDR", u"NDR", u"PDR"):
+ lnk_dir = u"../ndrpdr_trending/"
+ lnk_sufix = u"-pdr"
+ else:
+ lnk_dir = u"../trending/"
+ lnk_sufix = u""
+
logging.info(f" Generating the table {table.get(u'title', u'')} ...")
try:
attrib=dict(align=u"left" if c_idx == 0 else u"center")
)
# Name:
- if c_idx == 0:
+ if c_idx == 0 and table.get(u"add-links", True):
ref = ET.SubElement(
tdata,
u"a",
attrib=dict(
- href=f"../trending/"
+ href=f"{lnk_dir}"
f"{_generate_url(table.get(u'testbed', ''), item)}"
+ f"{lnk_sufix}"
)
)
ref.text = item
type: "failed-tests"
way: "jenkins"
include:
- - "last-failed-tests-2n-skx"
- - "last-failed-tests-3n-skx"
- - "last-failed-tests-2n-clx"
- - "last-failed-tests-3n-hsw"
- - "last-failed-tests-3n-tsh"
- - "last-failed-tests-2n-dnv"
- - "last-failed-tests-3n-dnv"
+ - "last-failed-tests-2n-skx-mrr"
+ - "last-failed-tests-3n-skx-mrr"
+ - "last-failed-tests-2n-clx-mrr"
+ - "last-failed-tests-3n-hsw-mrr"
+ - "last-failed-tests-3n-tsh-mrr"
+ - "last-failed-tests-2n-dnv-mrr"
+ - "last-failed-tests-3n-dnv-mrr"
- "last-failed-tests-2n-skx-ndrpdr"
- "last-failed-tests-3n-skx-ndrpdr"
- "last-failed-tests-2n-clx-ndrpdr"
title: "Last failed tests (last builds) 3n-hsw"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-hsw"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-hsw-mrr"
data: "table-last-failed-tests-3n-hsw"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 3n-skx"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-skx"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-skx-mrr"
data: "table-last-failed-tests-3n-skx"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 2n-skx"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-skx"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-skx-mrr"
data: "table-last-failed-tests-2n-skx"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 2n-clx"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-clx"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-clx-mrr"
data: "table-last-failed-tests-2n-clx"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 3n-tsh"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-tsh"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-tsh-mrr"
data: "table-last-failed-tests-3n-tsh"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 3n-dnv"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-dnv"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-3n-dnv-mrr"
data: "table-last-failed-tests-3n-dnv"
filter: "'MRR'"
parameters:
title: "Last failed tests (last builds) 2n-dnv"
algorithm: "table_last_failed_tests"
output-file-ext: ".txt"
- output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-dnv"
+ output-file: "{DIR[STATIC,VPP]}/last-failed-tests-2n-dnv-mrr"
data: "table-last-failed-tests-2n-dnv"
filter: "'MRR'"
parameters:
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c-3n-hsw-ndr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c-3n-hsw-ndr.rst"
testbed: "3n-hsw"
- add-links: False
+ test-type: "NDR"
+ add-links: True
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c-3n-hsw-pdr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c-3n-hsw-pdr.rst"
testbed: "3n-hsw"
- add-links: False
+ test-type: "PDR"
+ add-links: True
# 3n-skx
-
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-3n-skx-ndr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-3n-skx-ndr.rst"
testbed: "3n-skx"
- add-links: False
+ test-type: "NDR"
+ add-links: True
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-3n-skx-pdr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-3n-skx-pdr.rst"
testbed: "3n-skx"
- add-links: False
+ test-type: "PDR"
+ add-links: True
# 2n-skx
-
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-skx-ndr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-skx-ndr.rst"
testbed: "2n-skx"
- add-links: False
+ test-type: "NDR"
+ add-links: True
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-skx-pdr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-skx-pdr.rst"
testbed: "2n-skx"
- add-links: False
+ test-type: "PDR"
+ add-links: True
# 2n-clx
-
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-clx-ndr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-clx-ndr.rst"
testbed: "2n-clx"
- add-links: False
+ test-type: "NDR"
+ add-links: True
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-clx-pdr.csv"
output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t1c-2n-clx-pdr.rst"
testbed: "2n-clx"
- add-links: False
+ test-type: "PDR"
+ add-links: True
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/failed-tests-3n-hsw-ndrpdr.csv"
output-file: "{DIR[STATIC,VPP]}/failed-tests-3n-hsw-ndrpdr.rst"
testbed: "3n-hsw"
+ test-type: "NDRPDR"
-################################################################################
+###############################################################################
# 3n-skx
-
type: "table"
input-file: "{DIR[STATIC,VPP]}/failed-tests-3n-skx-ndrpdr.csv"
output-file: "{DIR[STATIC,VPP]}/failed-tests-3n-skx-ndrpdr.rst"
testbed: "3n-skx"
+ test-type: "NDRPDR"
################################################################################
# 2n-skx
input-file: "{DIR[STATIC,VPP]}/failed-tests-2n-skx-ndrpdr.csv"
output-file: "{DIR[STATIC,VPP]}/failed-tests-2n-skx-ndrpdr.rst"
testbed: "2n-skx"
+ test-type: "NDRPDR"
################################################################################
# 2n-clx
input-file: "{DIR[STATIC,VPP]}/failed-tests-2n-clx-ndrpdr.csv"
output-file: "{DIR[STATIC,VPP]}/failed-tests-2n-clx-ndrpdr.rst"
testbed: "2n-clx"
+ test-type: "NDRPDR"
################################################################################
# 3n-tsh