+ @staticmethod
+ def destroy_kubernetes_on_node(node):
+ """Destroy Kubernetes on node.
+
+ :param node: DUT node.
+ :type node: dict
+ :raises RuntimeError: If destroying Kubernetes failed.
+ """
+ ssh = SSH()
+ ssh.connect(node)
+
+ cmd = '{dir}/{lib}/k8s_setup.sh destroy'\
+ .format(dir=Constants.REMOTE_FW_DIR,
+ lib=Constants.RESOURCES_LIB_SH)
+ (ret_code, _, _) = ssh.exec_command(cmd, timeout=120)
+ if int(ret_code) != 0:
+ raise RuntimeError('Failed to destroy Kubernetes on {node}.'
+ .format(node=node['host']))
+
+ @staticmethod
+ def destroy_kubernetes_on_all_duts(nodes):
+ """Destroy Kubernetes on all DUTs.
+
+ :param nodes: Topology nodes.
+ :type nodes: dict
+ """
+ for node in nodes.values():
+ if node['type'] == NodeType.DUT:
+ KubernetesUtils.destroy_kubernetes_on_node(node)
+