diff options
author | Peter Mikus <pmikus@cisco.com> | 2019-10-04 10:15:18 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2019-10-04 10:16:43 +0000 |
commit | 917abf9aec10dc3e8f55ae7f55e1fab1fc44475c (patch) | |
tree | 141bf4f0931ab2e6e545adf11b5a30d494cf41eb | |
parent | 3691bd34143ff6e725c3be5cfee7d2539f84169f (diff) |
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 <pmikus@cisco.com>
-rwxr-xr-x | resources/tools/scripts/topo_cleanup.py | 30 |
1 files changed, 19 insertions, 11 deletions
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__": |