diff --git a/helper_scripts/build_ssh_config_on_workstation.py b/helper_scripts/build_ssh_config_on_workstation.py new file mode 100644 index 0000000..e597902 --- /dev/null +++ b/helper_scripts/build_ssh_config_on_workstation.py @@ -0,0 +1,45 @@ +#!/usr/bin/python + +import sys +import subprocess +import os +import paramiko + +HOSTS = [ + "root@atlantishq.de", + "root@katzencluster.atlantishq.de", + "root@atlantis-helsinki.atlantishq.de" +] + +BASE_FILE = "~/.ssh/base_config" +MAIN_CONFIG = "~/.ssh/config" + +if __name__ == "__main__": + + contents = "" + for target in HOSTS: + + RUN_CMD = ["ssh", "-t", target , "cd /root/athq-vm-management/; python3 main.py"] + COPY_CMD = ["ssh", "-t", target, "cat /root/athq-vm-management/ssh_config_for_clients"] + + print("Doing", target, file=sys.stderr) + out = subprocess.run(RUN_CMD, capture_output=True, universal_newlines=True) + if out.returncode != 0: + print("failed (run command)!") + print(out.stderr) + sys.exit(1) + + out = subprocess.run(COPY_CMD, capture_output=True, universal_newlines=True) + if out.returncode != 0: + print("failed (cat command)!") + print(out.stderr) + sys.exit(1) + + contents += out.stdout + contents += "\n" + + with open(os.path.expanduser(BASE_FILE)) as f: + with open(os.path.expanduser(MAIN_CONFIG), "w") as fout: + fout.write(f.read()) + fout.write("\n") + fout.write(contents)