selftest: Add helper scripts for accessing the testenv namespace
authorTim Beale <timbeale@catalyst.net.nz>
Thu, 28 Mar 2019 04:40:46 +0000 (17:40 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 31 May 2019 05:18:20 +0000 (05:18 +0000)
commitc68537d5dd4963a6e149ac4dcb0c89c51cbfae79
tree2062678d15486228efddb4ddadf4217fc9cc81bf
parent067b4fc03fec20e944eac2645f400471f2bc0b21
selftest: Add helper scripts for accessing the testenv namespace

This patch adds some helper scripts that make talking to a given
testenv's namespace slightly easier.

One of the really cool things about namespaces is you can run multiple
different programs that can all talk to the testenv DC. However, the
command to do this is a bit unweildly, it's based on PID so it changes
everytime you start up a testenv, and you loose all the environment
variables that selftest normally sets up.

This patch adds a couple of helper scripts:
- nsenter-helper.sh: this takes the variables defined in an exports_file
  and exports them all. It prints some basic help and then starts a new
  shell session (this whole script gets run in the new namespace).
  Essentially this achieves something similar to the legacy
  selftest-vars.sh script (except this one actually works).
- mk_nsenter.sh: this generates a simple wrapper script that'll run
  nsenter and then call nsenter-helper.sh. A separate wrapper script
  gets created for each testenv. E.g. to run it, just go:
    ./st/ad_dc/nsenter.sh

  This is a wrapper for a more complicated command underneath like:
    nsenter -t 437353 --net --user --preserve-credentials \
      /home/timbeale/code/samba/selftest/ns/nsenter-helper.sh \
      /home/timbeale/code/samba/st/ad_dc/exports.sh

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/ns/mk_nsenter.sh [new file with mode: 0755]
selftest/ns/nsenter-helper.sh [new file with mode: 0755]
selftest/ns/start_in_ns.sh