From 953a41945d7a4d396e6839eecef06b88379758b4 Mon Sep 17 00:00:00 2001 From: Italo Valcy Date: Mon, 18 Nov 2024 15:41:25 -0300 Subject: [PATCH] sanitize port name according to the spec --- convert_topology.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/convert_topology.py b/convert_topology.py index f0cabcf..22b5191 100644 --- a/convert_topology.py +++ b/convert_topology.py @@ -134,8 +134,12 @@ def get_port(self, sdx_node_name: str, interface: dict) -> dict: sdx_port = {} sdx_port["id"] = self.get_port_urn(interface) - sdx_port["name"] = interface["metadata"].get("port_name", "")[:30] - if not sdx_port["name"]: + if interface["metadata"].get("port_name"): + port_name = interface["metadata"]["port_name"] + port_name = re.sub(r"\s+", "_", port_name) + port_name = re.sub("[^A-Za-z0-9_.,/-]", "", port_name) + sdx_port["name"] = port_name[:30] + else: sdx_port["name"] = interface["name"][:30] sdx_port["node"] = f"urn:sdx:node:{self.oxp_url}:{sdx_node_name}" sdx_port["type"] = self.get_type_port_speed(str(interface["speed"]))