from ..utils.url_processing import url_decode
from ..utils.utils import generate_options, gen_new_url, navbar_report, \
filter_table_data, sort_table_data, show_iterative_graph_data, \
- show_tooltip, get_topo_arch
+ show_tooltip, get_topo_arch, get_drv_name
from .tables import comparison_table
from ..report.graphs import graph_iterative
replace("2n-", "")
test = lst_test_id[-1]
nic = suite.split("-")[0]
- for driver in C.DRIVERS:
- if driver in test:
- drv = driver.replace("-", "_")
- test = test.replace(f"{driver}-", "")
- break
- else:
- drv = "dpdk"
+ drv, test = get_drv_name(test, tbed)
infra = "-".join((tbed, nic, drv))
lst_test = test.split("-")
fsize = lst_test[0]
(data["release"] == dutver[0])
)])
- drv = "" if itm["driver"] == "dpdk" else itm["driver"].replace("_", "-")
+ if itm["driver"] in C.DRVS_NOT_IN_NAME:
+ drv = str()
+ else:
+ itm["driver"].replace("_", "-")
core = str() if itm["dut"] == "trex" else itm["core"].lower()
ttype = "ndrpdr" if itm["ttype"] in ("NDR", "PDR", "Latency") \
else itm["ttype"].lower()
regex=True
))
]
- if itm["driver"] == "dpdk":
+ if itm["driver"] in C.DRVS_NOT_IN_NAME:
for drv in C.DRIVERS:
tmp_df.drop(
tmp_df[tmp_df.test_id.str.contains(f"-{drv}-")].index,
from ..utils.control_panel import ControlPanel
from ..utils.trigger import Trigger
from ..utils.utils import label, gen_new_url, generate_options, navbar_report, \
- show_tooltip, get_topo_arch
+ show_tooltip, get_topo_arch, get_drv_name
from ..utils.url_processing import url_decode
from .tables import coverage_tables, select_coverage_data
replace("2n-", "")
test = lst_test_id[-1]
nic = suite.split("-")[0]
- for drv in C.DRIVERS:
- if drv in test:
- driver = drv.replace("-", "_")
- test = test.replace(f"{drv}-", "")
- break
- else:
- driver = "dpdk"
+ driver, test = get_drv_name(test, tbed)
infra = "-".join((tbed, nic, driver))
if tbs.get(rls, None) is None:
phy = selected["phy"].rsplit("-", maxsplit=2)
if len(phy) == 3:
topo_arch, nic, drv = phy
- drv_str = "" if drv == "dpdk" else drv.replace("_", "-")
+ drv_str = "" if drv in C.DRVS_NOT_IN_NAME else drv.replace("_", "-")
else:
return l_data, None
regex=True
))
]
- if drv == "dpdk":
+ if drv in C.DRVS_NOT_IN_NAME:
for driver in C.DRIVERS:
df.drop(
df[df.test_id.str.contains(f"-{driver}-")].index,
phy = itm["phy"].rsplit("-", maxsplit=2)
if len(phy) == 3:
topo_arch, nic, drv = phy
- if drv == "dpdk":
+ if drv in C.DRVS_NOT_IN_NAME:
drv = ""
else:
drv += "-"
from ..utils.trigger import Trigger
from ..utils.utils import show_tooltip, label, sync_checklists, gen_new_url, \
generate_options, get_list_group_items, navbar_report, get_topo_arch, \
- show_iterative_graph_data
+ show_iterative_graph_data, get_drv_name
from ..utils.url_processing import url_decode
from .graphs import graph_iterative, select_iterative_data
replace("2n-", "")
test = lst_test_id[-1]
nic = suite.split("-")[0]
- for drv in C.DRIVERS:
- if drv in test:
- driver = drv.replace("-", "_")
- test = test.replace(f"{drv}-", "")
- break
- else:
- driver = "dpdk"
+ driver, test = get_drv_name(test, tbed)
infra = "-".join((tbed, nic, driver))
lst_test = test.split("-")
framesize = lst_test[0]
from ..utils.trigger import Trigger
from ..utils.utils import gen_new_url, generate_options, navbar_trending, \
filter_table_data, sort_table_data, show_trending_graph_data, \
- show_iterative_graph_data, show_tooltip, get_topo_arch
+ show_iterative_graph_data, show_tooltip, get_topo_arch, get_drv_name
from ..utils.url_processing import url_decode
from .tables import search_table
from ..coverage.tables import coverage_tables
replace("2n-", "")
tb = get_topo_arch(row["job"].split("-"))
nic = suite.split("-")[0]
- for driver in C.DRIVERS:
- if driver in suite:
- drv = driver
- break
- else:
- drv = "dpdk"
+ drv, _ = get_drv_name(suite, tb, replace=False)
test = l_id[-1]
if data_type in ("iterative", "coverage", ):
l_id = row["test_id"].split(".")
suite = l_id[-2].replace("2n1l-", "").replace("1n1l-", "").\
replace("2n-", "")
- l_tb.append(get_topo_arch(row["job"].split("-")))
+ tb = get_topo_arch(row["job"].split("-"))
+ l_tb.append(tb)
l_nic.append(suite.split("-")[0])
if selection["datatype"] != "trending":
l_dutver.append(row["dut_version"])
l_drv.append(driver)
break
else:
- l_drv.append("dpdk")
+ if tb == "3n-oct":
+ l_drv.append("octeon")
+ else:
+ l_drv.append("dpdk")
l_test.append(l_id[-1])
if selection["datatype"] == "trending":
phy = itm["phy"].rsplit("-", maxsplit=2)
if len(phy) == 3:
topo_arch, nic, drv = phy
- if drv == "dpdk":
+ if drv in C.DRVS_NOT_IN_NAME:
drv = ""
else:
drv += "-"
from ..utils.telemetry_data import TelemetryData
from ..utils.utils import show_tooltip, label, sync_checklists, gen_new_url, \
generate_options, get_list_group_items, navbar_trending, get_topo_arch, \
- show_trending_graph_data
+ show_trending_graph_data, get_drv_name
from ..utils.url_processing import url_decode
from .graphs import graph_trending, select_trending_data, graph_tm_trending
replace("2n-", "")
test = lst_test[-1]
nic = suite.split("-")[0]
- for drv in C.DRIVERS:
- if drv in test:
- if drv == "af-xdp":
- driver = "af_xdp"
- else:
- driver = drv
- test = test.replace(f"{drv}-", "")
- break
- else:
- driver = "dpdk"
+ driver, test = get_drv_name(test, tbed)
infra = "-".join((tbed, nic, driver))
lst_test = test.split("-")
framesize = lst_test[0]
PLACEHOLDER = html.Nobr("")
# List of drivers used in CSIT.
- DRIVERS = ("avf", "af-xdp", "rdma", "dpdk", "mlx5")
+ DRIVERS = ("avf", "af-xdp", "rdma", "dpdk", "mlx5", "octeon")
+ DRVS_NOT_IN_NAME = ("dpdk", "octeon")
# Labels for input elements (dropdowns, ...).
LABELS = {
else:
# Topology and architecture are the last two substrings.
return "-".join(lst_job[-2:])
+
+
+def get_drv_name(in_str: str, tb: str, replace: bool = True) -> tuple:
+ """Identifies driver name from test or suite name and unifies its name.
+
+ The driver name is then removed from test / suite name and returned together
+ with the driver name.
+
+ If vfio_pci driver is used, the plugin name is returned:
+ - "octeon" for octeon testbeds,
+ - "dpdk" otherwise.
+
+ :param in_str: Test or suite name to be used to identify the driver name.
+ :param tb: Testbed name.
+ :param replace: (Optional, default True) If True, the "-" is replaced by "_"
+ in the driver name.
+ :type in_str: str
+ :type tb: str
+ :type replace: bool
+ """
+
+ for drv in C.DRIVERS:
+ if drv in in_str:
+ if replace:
+ driver = drv.replace("-", "_")
+ else:
+ driver = drv
+ in_str = in_str.replace(f"{drv}-", "")
+ break
+ else:
+ if tb == "3n-oct":
+ driver = "octeon"
+ else:
+ driver = "dpdk"
+
+ return driver, in_str