CSIT-481: HC Test: Port mirroring (SPAN)
[csit.git] / resources / libraries / python / topology.py
index 0b40967..0214cc9 100644 (file)
@@ -29,7 +29,10 @@ def load_topo_from_yaml():
 
     :return: Nodes from loaded topology.
     """
-    topo_path = BuiltIn().get_variable_value("${TOPOLOGY_PATH}")
+    try:
+        topo_path = BuiltIn().get_variable_value("${TOPOLOGY_PATH}")
+    except:
+        return ''
 
     with open(topo_path) as work_file:
         return load(work_file.read())['nodes']
@@ -122,6 +125,19 @@ class Topology(object):
         """
         node['interfaces'][iface_key]['vpp_sw_index'] = int(sw_if_index)
 
+    @staticmethod
+    def update_interface_name(node, iface_key, name):
+        """Update name on the interface from the node.
+
+        :param node: Node to update name on.
+        :param iface_key: Topology key of the interface.
+        :param name: Interface name to store.
+        :type node: dict
+        :type iface_key: str
+        :type name: str
+        """
+        node['interfaces'][iface_key]['name'] = str(name)
+
     @staticmethod
     def update_interface_mac_address(node, iface_key, mac_address):
         """Update mac_address on the interface from the node.
@@ -372,7 +388,7 @@ class Topology(object):
         :return: Interface key.
         :rtype: str
 
-        :raises TypeError: If provided with invalid arguments.
+        :raises TypeError: If provided with invalid interface argument.
         :raises RuntimeError: If the interface does not exist in topology.
         """