Move reservation directory to TG node. 20/16120/2
authorVratko Polak <vrpolak@cisco.com>
Fri, 23 Nov 2018 11:20:06 +0000 (12:20 +0100)
committerVratko Polak <vrpolak@cisco.com>
Fri, 23 Nov 2018 11:20:06 +0000 (12:20 +0100)
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 <vrpolak@cisco.com>
resources/tools/scripts/topo_reservation.py

index 4b5ed24..bf31918 100755 (executable)
@@ -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:
 # 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: