From 07a840aaa516d4560dddd916c23593e711ec08fb Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Mon, 12 Mar 2018 09:16:52 +0100 Subject: [PATCH] Optimize VPP restart after startup.conf change Change-Id: Iabe7de5d598f904bd7e691c3ffed1d07ed0c7f68 Signed-off-by: Peter Mikus --- resources/libraries/python/VppConfigGenerator.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/resources/libraries/python/VppConfigGenerator.py b/resources/libraries/python/VppConfigGenerator.py index f21f027ba4..819224f485 100644 --- a/resources/libraries/python/VppConfigGenerator.py +++ b/resources/libraries/python/VppConfigGenerator.py @@ -477,19 +477,16 @@ class VppConfigGenerator(object): path = ['session', 'local-endpoints-table-memory'] self.add_config_item(self._nodeconfig, value, path) - def apply_config(self, filename=None, waittime=5, - retries=12, restart_vpp=True): + def apply_config(self, filename=None, retries=60, restart_vpp=True): """Generate and apply VPP configuration for node. Use data from calls to this class to form a startup.conf file and replace /etc/vpp/startup.conf with it on node. :param filename: Startup configuration file name. - :param waittime: Time to wait for VPP to restart (default 5 seconds). - :param retries: Number of times (default 12) to re-try waiting. + :param retries: Number of times (default 60) to re-try waiting. :param restart_vpp: Whether to restart VPP. :type filename: str - :type waittime: int :type retries: int :type restart_vpp: bool. :raises RuntimeError: If writing config file failed or restart of VPP @@ -537,11 +534,11 @@ class VppConfigGenerator(object): # Sleep seconds, up to times, # and verify if VPP is running. for _ in range(retries): - time.sleep(waittime) + time.sleep(1) (ret, stdout, _) = \ ssh.exec_command('echo show hardware-interfaces | ' 'nc 0 5002 || echo "VPP not yet running"') - if ret == 0 and stdout != 'VPP not yet running': + if ret == 0 and 'VPP not yet running' not in stdout: break else: raise RuntimeError('VPP failed to restart on node {}'. -- 2.16.6