From ebe37a87edd82c36b1272c28c2ad0aeda475ed4d Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Fri, 23 Nov 2018 12:20:06 +0100 Subject: Move reservation directory to TG node. Testing has showed SSH access to DUT affects performance. Downside: No support for non-Linux TGs. Complication: After merge there might be conflicts with older jobs, including jobs for other branches. Change-Id: Icefddc5a9ca8f4d830460e53a82bb45231f7222e Signed-off-by: Vratko Polak (cherry picked from commit e4091a25520e8cf1c62254df74b7ccf57f2ce1c7) --- resources/tools/scripts/topo_reservation.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/resources/tools/scripts/topo_reservation.py b/resources/tools/scripts/topo_reservation.py index 4b5ed2459c..bf31918c73 100755 --- a/resources/tools/scripts/topo_reservation.py +++ b/resources/tools/scripts/topo_reservation.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2018 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: @@ -13,9 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""This script provides simple reservation mechanism to avoid - simultaneous use of nodes listed in topology file. - As source of truth is used DUT1 node from the topology file.""" +"""Script managing reservation and un-reservation of testbeds. + +This script provides simple reservation mechanism to avoid +simultaneous use of nodes listed in topology file. +As source of truth, TG node from the topology file is used. +""" import sys import argparse @@ -37,19 +40,20 @@ def main(): work_file = open(topology_file) topology = load(work_file.read())['nodes'] - #we are using DUT1 node because we expect DUT1 to be a linux host - #we don't use TG because we don't expect TG to be linux only host + # Even if TG is not guaranteed to be a Linux host, + # we are using it, because testing shows SSH access to DUT + # during test affects its performance (bursts of lost packets). try: - tg_node = topology["DUT1"] + tg_node = topology["TG"] except KeyError: - print "Topology file does not contain 'DUT1' node" + print "Topology file does not contain 'TG' node" return 1 ssh = SSH() ssh.connect(tg_node) - #For system reservation we use mkdir it is an atomic operation and we can - #store additional data (time, client_ID, ..) within reservation directory + # For system reservation we use mkdir it is an atomic operation and we can + # store additional data (time, client_ID, ..) within reservation directory. if cancel_reservation: ret, _, err = ssh.exec_command("rm -r {}".format(RESERVATION_DIR)) else: -- cgit 1.2.3-korg