diff options
author | pmikus <pmikus@cisco.com> | 2016-04-12 12:21:53 +0200 |
---|---|---|
committer | pmikus <pmikus@cisco.com> | 2016-04-12 12:21:53 +0200 |
commit | b5a17c8d29868a0521447176845d01d293ea585a (patch) | |
tree | 918c91aa60e87bec0cee7d3e0728500845f848cb /resources/tools/topo_installation.py | |
parent | 831bfd57e9d046d38fb59d60c3c813eca7878d60 (diff) |
Bootstrap verify performance fix
- fix installation directory create and remove
Change-Id: I0acd47b886e869958a2075889af3bbe166d7808e
Signed-off-by: pmikus <pmikus@cisco.com>
Diffstat (limited to 'resources/tools/topo_installation.py')
-rwxr-xr-x | resources/tools/topo_installation.py | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/resources/tools/topo_installation.py b/resources/tools/topo_installation.py index 8b596e1390..1dc818f113 100755 --- a/resources/tools/topo_installation.py +++ b/resources/tools/topo_installation.py @@ -30,12 +30,15 @@ def main(): help="Topology file") parser.add_argument("-d", "--directory", required=True, help="Installation directory") - parser.add_argument("-p", "--packages", required=True, nargs='+', + parser.add_argument("-p", "--packages", required=True, nargs='*', help="Packages paths to copy") + parser.add_argument("-c", "--cancel", help="Cancel installation", + action="store_true") args = parser.parse_args() topology_file = args.topo packages = args.packages install_dir = args.directory + cancel_installation = args.cancel work_file = open(topology_file) topology = load(work_file.read())['nodes'] @@ -45,16 +48,27 @@ def main(): ssh = SSH() ssh.connect(topology[node]) - # Copy packages from local path to installation dir - for deb in packages: - ssh.scp(local_path=deb, remote_path=install_dir) + if cancel_installation: + ret, _, err = ssh.exec_command("rm -r {}".format(install_dir)) + if ret != 0: + print "Cancel unsuccessful:\n{}".format(err) + return ret + else: + ret, _, err = ssh.exec_command("mkdir {}".format(install_dir)) + if ret != 0: + print "Mkdir unsuccessful:\n{}".format(err) + return ret - # Installation of VPP deb packages - ret, _, err = ssh.exec_command_sudo( - "dpkg -i {}/*.deb".format(install_dir)) - if ret != 0: - print "Installation unsuccessful:\n{}".format(err) - return ret + # Copy packages from local path to installation dir + for deb in packages: + ssh.scp(local_path=deb, remote_path=install_dir) + + # Installation of VPP deb packages + ret, _, err = ssh.exec_command_sudo( + "dpkg -i {}/*.deb".format(install_dir)) + if ret != 0: + print "Installation unsuccessful:\n{}".format(err) + return ret if __name__ == "__main__": sys.exit(main()) |