diff options
author | Jan Gelety <jgelety@cisco.com> | 2017-06-20 09:53:56 +0200 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2017-06-20 13:06:23 +0000 |
commit | 665b506d4f3b229e05d14eda9def5e46c56518e9 (patch) | |
tree | 2af01c96a3f56ced4eda8a7a227c820b9bd8d3bc /resources/libraries | |
parent | d02dab93f44931eca970eab4b7ed7a6f55fe479d (diff) |
VIRL VPP PID fix
- use three tries to get PID of VPP process
Change-Id: If72784dfc2c5600aae703dff9170c4f491a3b685
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries')
-rw-r--r-- | resources/libraries/python/DUTSetup.py | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index 4834ba6828..efc588783a 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -113,30 +113,31 @@ class DUTSetup(object): ssh = SSH() ssh.connect(node) - ret_code, stdout, stderr = ssh.exec_command('pidof vpp') - logger.trace(stdout) - logger.trace(stderr) - - if int(ret_code) != 0: - logger.debug('Not possible to get PID of VPP process on node: ' - '{0}\n {1}'.format(node['host'], stdout + stderr)) - raise RuntimeError('Not possible to get PID of VPP process on node:' - ' {}'.format(node['host'])) - - if len(stdout.splitlines()) == 1: - return int(stdout) - elif len(stdout.splitlines()) == 0: - logger.debug("No VPP PID found on node {0}". - format(node['host'])) - return None - else: - logger.debug("More then one VPP PID found on node {0}". - format(node['host'])) - ret_list = () - for line in stdout.splitlines(): - ret_list.append(int(line)) - return ret_list + for i in range(3): + logger.trace('Try {}: Get VPP PID'.format(i)) + ret_code, stdout, stderr = ssh.exec_command('pidof vpp') + + if int(ret_code) != 0: + raise RuntimeError('Not possible to get PID of VPP process ' + 'on node: {0}\n {1}'. + format(node['host'], stdout + stderr)) + + if len(stdout.splitlines()) == 1: + return int(stdout) + elif len(stdout.splitlines()) == 0: + logger.debug("No VPP PID found on node {0}". + format(node['host'])) + continue + else: + logger.debug("More then one VPP PID found on node {0}". + format(node['host'])) + ret_list = () + for line in stdout.splitlines(): + ret_list.append(int(line)) + return ret_list + + return None @staticmethod def get_vpp_pids(nodes): |