diff options
Diffstat (limited to 'debian.py')
-rw-r--r-- | debian.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/debian.py b/debian.py new file mode 100644 index 0000000..7456d8a --- /dev/null +++ b/debian.py @@ -0,0 +1,27 @@ +import json +import logging +import os +import random +import shlex +import socket +import stat +import yaml + + +def debian_system(ctx, hostname=None): + hostname = os.environ["DEBIAN_HOST"] + logging.debug(f"remember Debian host {hostname}") + ctx["hostname"] = hostname + + +def run_as_on_host(ctx, username=None, argv0=None, args=None): + runcmd_run = globals()["runcmd_run"] + runcmd_exit_code_is_zero = globals()["runcmd_exit_code_is_zero"] + + logging.debug(f"run_as_on_host: username={username!r}") + logging.debug(f"run_as_on_host: argv0={argv0!r}") + logging.debug(f"run_as_on_host: args={args!r}") + target = f"{username}@{ctx['hostname']}" + argv = ["ssh", target, "--", shlex.quote(argv0)] + shlex.split(args) + runcmd_run(ctx, argv) + runcmd_exit_code_is_zero(ctx) |