diff options
Diffstat (limited to 'resources/tools/topo_installation.py')
-rwxr-xr-x | resources/tools/topo_installation.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/resources/tools/topo_installation.py b/resources/tools/topo_installation.py index dc45d23b71..b052a85d34 100755 --- a/resources/tools/topo_installation.py +++ b/resources/tools/topo_installation.py @@ -34,12 +34,12 @@ def ssh_no_error(ssh, cmd, sudo=False): :rtype: str """ - if sudo == True: + if sudo: ret, stdo, stde = ssh.exec_command_sudo(cmd) else: ret, stdo, stde = ssh.exec_command(cmd) - if 0 != ret: + if ret != 0: print 'Command execution failed: "{}"'.format(cmd) print 'stdout: {0}'.format(stdo) print 'stderr: {0}'.format(stde) @@ -80,6 +80,14 @@ def main(): cmd = "rm -r {}".format(install_dir) stdout = ssh_no_error(ssh, cmd) print "###TI {}".format(stdout) + + cmd = "dpkg -l | grep vpp" + ret, _, _ = ssh.exec_command(cmd) + if ret == 0: + # Try to remove installed vpp.* packages + cmd = 'apt-get purge -y "vpp.*"' + stdout = ssh_no_error(ssh, cmd, sudo=True) + print "###TI {}".format(stdout) else: # Create installation directory on DUT cmd = "mkdir {}".format(install_dir) @@ -91,6 +99,14 @@ def main(): print "###TI scp: {}".format(deb) ssh.scp(local_path=deb, remote_path=install_dir) + cmd = "dpkg -l | grep vpp" + ret, _, _ = ssh.exec_command(cmd) + if ret == 0: + # Try to remove installed vpp.* packages + cmd = 'apt-get purge -y "vpp.*"' + stdout = ssh_no_error(ssh, cmd, sudo=True) + print "###TI {}".format(stdout) + # Installation of VPP deb packages cmd = "dpkg -i --force-all {}/*.deb".format(install_dir) stdout = ssh_no_error(ssh, cmd, sudo=True) |