summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ssh-config.md31
-rw-r--r--ssh-config.py6
-rw-r--r--ssh-config.yaml5
3 files changed, 37 insertions, 5 deletions
diff --git a/ssh-config.md b/ssh-config.md
index 7de2def..0cdb0d8 100644
--- a/ssh-config.md
+++ b/ssh-config.md
@@ -71,6 +71,18 @@ when I run ssh contint2001.wikimedia.org hostname
then the output matches /^contint2001$/
~~~
+## Beta access for scap releasing
+
+This scenario ensures I can test scap on the beta cluster while
+releasing Scap.
+
+~~~scenario
+when I run ssh deployment-deploy01.deployment-prep.eqiad.wmflabs hostname
+then the output matches /^deployment-deploy01/
+when I run ssh deployment-cumin02.deployment-prep.eqiad.wmflabs hostname
+then the output matches /^deployment-cumin02/
+~~~
+
## Gerrit access
For Gerrit, we need more than just a simple ssh command. We need git.
@@ -117,12 +129,23 @@ then the directory subplot exists
## Backup server access
-I have two backup servers. Check access to both.
+I have two remote backup servers.
~~~scenario
-when I run ssh holywood2 hostname
-then the output matches /^holywood2$/
+when I run ssh nalanda.liw.fi hostname
+then the output matches /^nalanda$/
-when I run ssh pergamum hostname
+when I run ssh pergamum.geah.org hostname
then the output matches /^pergamum$/
~~~
+
+## Accessing my home systems from the outside
+
+I have a home router that's always on and can act as a jump host for
+machines on my home network. This scenario checks I can access them.
+This should be run while not on my home network.
+
+~~~scenario
+when I run ssh ext-valkama hostname
+then the output matches /^valkama$/
+~~~
diff --git a/ssh-config.py b/ssh-config.py
index 66f260d..53dc719 100644
--- a/ssh-config.py
+++ b/ssh-config.py
@@ -8,6 +8,12 @@ def run_ssh(ctx, host=None, cmd=None):
print('context:', ctx.as_dict())
assert_eq(ctx.get('exit'), 0)
+def run_ssh_with_jumphost(ctx, jumphost=None, host=None, cmd=None):
+ _runcmd(ctx, ['ssh', '-J', jumphost, host, cmd])
+ if ctx.get('exit') != 0:
+ print('context:', ctx.as_dict())
+ assert_eq(ctx.get('exit'), 0)
+
def run_git_clone(ctx, repo=None):
_runcmd(ctx, ['git', 'clone', repo])
if ctx.get('exit') != 0:
diff --git a/ssh-config.yaml b/ssh-config.yaml
index 9863c86..606d625 100644
--- a/ssh-config.yaml
+++ b/ssh-config.yaml
@@ -1,6 +1,9 @@
-- when: I run ssh (?P<host>\S+) (?P<cmd>.+)
+- when: I run ssh (?P<host>\S+) (?P<cmd>\S+)
function: run_ssh
+- when: I run ssh -J (?P<jumphost>\S+) (?P<host>\S+) (?P<cmd>\S+)
+ function: run_ssh_with_jumphost
+
- when: I run git clone (?P<repo>\S+)
function: run_git_clone