From: Peter Mikus Date: Fri, 4 Oct 2019 10:15:18 +0000 (+0000) Subject: FIX: Add SRIOV cleanup X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=917abf9aec10dc3e8f55ae7f55e1fab1fc44475c FIX: Add SRIOV cleanup If Jenkins interrupt pybot during AVF tests (that is happening more frequently as coverage increased) the interfaces remains in link UP state. Next run VPP cannot grab interfaces as they are in UP state in and kernel driver. This results in testcase failing. Patch is supposed to do put interfaces in topology down so VPP can bind them back to vfio-pci. Change-Id: I2aa9e5944d39474965eac3c5f1b472f58e9aa8b5 Signed-off-by: Peter Mikus --- diff --git a/resources/tools/scripts/topo_cleanup.py b/resources/tools/scripts/topo_cleanup.py index 1402940403..bf4bdfc557 100755 --- a/resources/tools/scripts/topo_cleanup.py +++ b/resources/tools/scripts/topo_cleanup.py @@ -61,7 +61,7 @@ def uninstall_package(ssh, package): # Try to fix interrupted installations first. execute_command_ssh(ssh, 'dpkg --configure -a', sudo=True) # Try to remove installed packages - execute_command_ssh(ssh, 'apt-get purge -y "{package}.*"'.format( + execute_command_ssh(ssh, 'apt-get purge -y "*{package}*"'.format( package=package), sudo=True) def kill_process(ssh, process): @@ -103,24 +103,32 @@ def main(): uninstall_package(ssh, 'honeycomb') # Remove HC logs. - execute_command_ssh(ssh, 'rm -rf /var/log/honeycomb', - sudo=True) + execute_command_ssh( + ssh, 'rm -rf /var/log/honeycomb', sudo=True) # Kill all containers. - execute_command_ssh(ssh, 'docker rm --force $(sudo docker ps -q)', - sudo=True) + execute_command_ssh( + ssh, 'docker rm --force $(sudo docker ps -q)', sudo=True) # Destroy kubernetes. - execute_command_ssh(ssh, 'kubeadm reset --force', - sudo=True) + execute_command_ssh( + ssh, 'kubeadm reset --force', sudo=True) # Remove corefiles leftovers. - execute_command_ssh(ssh, 'rm -f /tmp/*tar.lzo.lrz.xz*', - sudo=True) + execute_command_ssh( + ssh, 'rm -f /tmp/*tar.lzo.lrz.xz*', sudo=True) # Remove corefiles leftovers. - execute_command_ssh(ssh, 'rm -f /tmp/*core*', - sudo=True) + execute_command_ssh( + ssh, 'rm -f /tmp/*core*', sudo=True) + + # Set interfaces in topology down. + for interface in topology[node]['interfaces']: + pci = topology[node]['interfaces'][interface]['pci_address'] + execute_command_ssh( + ssh, "ip link set " + "$(basename /sys/bus/pci/devices/{pci}/net/*) down". + format(pci=pci), sudo=True) if __name__ == "__main__":