From 82ee0c313207cd8a2aad14f2cb4a30be23024085 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 25 Jun 2018 14:33:36 -0400 Subject: [PATCH] Refactor for real SSH --- config.json | 4 +++- libremanage.py | 13 ++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/config.json b/config.json index fcdccb2..5594855 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,9 @@ { "servers": { "web2": { - "manager": "myboard" + "manager": "myboard", + "tty": "/dev/ttyUSB0", + "baud": 115200 } }, "managers": { diff --git a/libremanage.py b/libremanage.py index 37e1b59..44d10bb 100644 --- a/libremanage.py +++ b/libremanage.py @@ -45,9 +45,6 @@ with open("config.json") as f: def open_ssh(config): subprocess.run(["ssh", config["username"] + "@" + config["host"], "-p", str(config["port"])]) -open_ssh(CONFIG["managers"]["myboard"]) -print(CONFIG) - def die_with_usage(message): print(message) print(USAGE) @@ -57,8 +54,9 @@ if len(sys.argv) != 3: die_with_usage("Incorrect number of arguments") def get_server_handle(name): - # TODO: resolve based on config, SSH in, give self-contained handle? - return name + server = CONFIG["servers"][name] + server["ssh"] = CONFIG["managers"][server["manager"]] + return server def set_server_power(state, server): print("Setting server " + server + " to power state " + str(state)) @@ -75,7 +73,8 @@ COMMANDS = { "tty": (True, lambda s: print("Screening on " + s)), # SSH sanity test - "console": (True, lambda s: open_ssh(CONFIG["managers"]["myboard"])), + + "console": (True, lambda s: open_ssh(s["ssh"])), } def issue_command(server_name, command): @@ -88,6 +87,6 @@ def issue_command(server_name, command): die_with_usage("Invalid command supplied") print("Shell visible? " + str(visible_shell)) - callback(server_name) + callback(server) issue_command(sys.argv[1], sys.argv[2]) -- 2.25.1