:param node: DUT node.
:type node: dict
- :return: PID
+ :returns: PID
:rtype: int
:raises RuntimeError if it is not possible to get the PID.
"""
ssh = SSH()
ssh.connect(node)
- ret_code, stdout, stderr = ssh.exec_command('pidof vpp')
- logger.trace(stdout)
- logger.trace(stderr)
+ 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 = list()
+ for line in stdout.splitlines():
+ ret_list.append(int(line))
+ return ret_list
- 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
+ return None
@staticmethod
def get_vpp_pids(nodes):
:param nodes: DUT nodes.
:type nodes: dict
- :return: PIDs
+ :returns: PIDs
:rtype: dict
"""
ssh.connect(node)
cryptodev = Topology.get_cryptodev(node)
- cmd = 'cat /sys/bus/pci/devices/{}/sriov_numvfs'.format(
- cryptodev.replace(':', r'\:'))
+ cmd = 'cat /sys/bus/pci/devices/{}/sriov_numvfs'.\
+ format(cryptodev.replace(':', r'\:'))
# Try to read number of VFs from PCI address of QAT device
for _ in range(3):
try:
sriov_numvfs = int(stdout)
except ValueError:
- logger.trace('Reading sriov_numvfs info failed on: {}'\
- .format(node['host']))
+ logger.trace('Reading sriov_numvfs info failed on: {}'.
+ format(node['host']))
else:
if sriov_numvfs != numvfs:
if force_init:
# with numvfs
DUTSetup.crypto_device_init(node, numvfs)
else:
- raise RuntimeError('QAT device {} is not '\
- 'initialized to {} on host: {}'.format(\
- cryptodev, numvfs, node['host']))
+ raise RuntimeError('QAT device {} is not '
+ 'initialized to {} on host: {}'.
+ format(cryptodev, numvfs,
+ node['host']))
break
@staticmethod
# Module is not loaded and we want to load it
DUTSetup.kernel_module_load(node, module)
else:
- raise RuntimeError('Kernel module {} is not loaded on host: '\
- '{}'.format(module, node['host']))
+ raise RuntimeError('Kernel module {} is not loaded on host: {}'.
+ format(module, node['host']))
@staticmethod
def kernel_module_load(node, module):
ret_code, _, _ = ssh.exec_command_sudo("modprobe {}".format(module))
if int(ret_code) != 0:
- raise RuntimeError('Failed to load {} kernel module on host: '\
- '{}'.format(module, node['host']))
+ raise RuntimeError('Failed to load {} kernel module on host: {}'.
+ format(module, node['host']))