diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-11 08:22:50 -0700 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-15 15:33:06 -0700 |
commit | 7295230019ecf136842cfb1d312a1fe09e288d70 (patch) | |
tree | 9d28719f04be8634dbfb8aaa71aefde97c9302d7 | |
parent | 3016786696b9e5a26b364cb5bd4cb5676420fe58 (diff) |
vnf_generic: adjust ssh timeout for number of VNFs
we assume the time it takes to start multiple
instances is proportional to the number of instances
so we scale the timeout based on the number of instances.
Change-Id: I6901890d3f184ac4e38e1d6823b96c291579e04a
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
-rw-r--r-- | yardstick/benchmark/scenarios/networking/vnf_generic.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/yardstick/benchmark/scenarios/networking/vnf_generic.py b/yardstick/benchmark/scenarios/networking/vnf_generic.py index ada92121b..f381186de 100644 --- a/yardstick/benchmark/scenarios/networking/vnf_generic.py +++ b/yardstick/benchmark/scenarios/networking/vnf_generic.py @@ -62,10 +62,11 @@ class IncorrectSetup(Exception): class SshManager(object): - def __init__(self, node): + def __init__(self, node, timeout=120): super(SshManager, self).__init__() self.node = node self.conn = None + self.timeout = timeout def __enter__(self): """ @@ -74,7 +75,7 @@ class SshManager(object): """ try: self.conn = ssh.SSH.from_node(self.node) - self.conn.wait() + self.conn.wait(timeout=self.timeout) except SSHError as error: LOG.info("connect failed to %s, due to %s", self.node["ip"], error) # self.conn defaults to None @@ -336,7 +337,7 @@ class NetworkServiceTestCase(base.Scenario): netdevs = {} cmd = "PATH=$PATH:/sbin:/usr/sbin ip addr show" - with SshManager(node_dict) as conn: + with SshManager(node_dict, timeout=timeout) as conn: if conn: exit_status = conn.execute(cmd)[0] if exit_status != 0: @@ -373,6 +374,10 @@ class NetworkServiceTestCase(base.Scenario): :return: None. Side effect: context_cfg is updated """ + num_nodes = len(self.context_cfg["nodes"]) + # OpenStack instance creation time is probably proportional to the number + # of instances + timeout = 120 * num_nodes for node, node_dict in self.context_cfg["nodes"].items(): for network in node_dict["interfaces"].values(): @@ -383,7 +388,7 @@ class NetworkServiceTestCase(base.Scenario): # only ssh probe if there are missing values # ssh probe won't work on Ixia, so we had better define all our values try: - netdevs = self._probe_netdevs(node, node_dict) + netdevs = self._probe_netdevs(node, node_dict, timeout=timeout) except (SSHError, SSHTimeout): raise IncorrectConfig( "Unable to probe missing interface fields '%s', on node %s " |