X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fscripts%2Ftopo_reservation.py;h=0016ebc0cc8265dfe96480408bddac1d348cd970;hb=a717aee1ab89cef916caef845dca935dfc0f0cd1;hp=213fa636dfb5089ab10ed08e4a212e3d186d5de8;hpb=1b9d4210b9b466fedab3a5891ec16a34e67a78ee;p=csit.git diff --git a/resources/tools/scripts/topo_reservation.py b/resources/tools/scripts/topo_reservation.py index 213fa636df..0016ebc0cc 100755 --- a/resources/tools/scripts/topo_reservation.py +++ b/resources/tools/scripts/topo_reservation.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2021 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -24,13 +24,30 @@ import argparse import sys import yaml -from resources.libraries.python.ssh import exec_cmd +from resources.libraries.python.ssh import exec_cmd as _exec_cmd RESERVATION_DIR = u"/tmp/reservation_dir" RESERVATION_NODE = u"TG" +def exec_cmd(node, cmd): + """A wrapper around ssh.exec_cmd with disabled JSON export. + + Using this, maintainers can use "exec_cmd" without worrying + about interaction with json export. + + TODO: Instead this, divide ssh module into reusable and robot-bound parts. + + :param node: Node object as parsed from topology file to execute cmd on. + :param cmd: Command to execute. + :type node: dict + :type cmd: str + :returns: RC, Stdout, Stderr. + :rtype: Tuple[int, str, str] + """ + return _exec_cmd(node, cmd, export=False) + def diag_cmd(node, cmd): """Execute cmd, print cmd and stdout, ignore stderr and rc; return None. @@ -103,7 +120,8 @@ def main(): # If connection is refused, ret==None. if ret != 0: print(f"Cancellation unsuccessful:\n{err!r}") - return 1 + return 1 + return 0 # Before critical section, output can be outdated already. print(u"Diagnostic commands:") # -d and * are to suppress "total ", see https://askubuntu.com/a/61190 @@ -113,7 +131,7 @@ def main(): ret, _, _ = exec_cmd(node, f"mkdir '{RESERVATION_DIR}'") # Critical section is over. if ret is None: - print(f"Failed to connect to testbed.") + print(u"Failed to connect to testbed.") return 1 if ret != 0: _, stdo, _ = exec_cmd(node, f"ls '{RESERVATION_DIR}'/*")