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>
-# 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:
# 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.
# 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
import sys
import argparse
work_file = open(topology_file)
topology = load(work_file.read())['nodes']
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).
- tg_node = topology["DUT1"]
+ tg_node = topology["TG"]
- print "Topology file does not contain 'DUT1' node"
+ print "Topology file does not contain 'TG' node"
return 1
ssh = SSH()
ssh.connect(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:
if cancel_reservation:
ret, _, err = ssh.exec_command("rm -r {}".format(RESERVATION_DIR))
else: