summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-04-14 12:35:26 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2014-04-15 12:03:51 +0300
commitf7b4039973398400e355c5ea2a068dac4bbc994b (patch)
tree2cfff5c5a716df872e9b3fe8302cad2905d0f8a7
parentc1197bd420c9a9b97b7263def4215d93cfc2ddbd (diff)
downloaddefinitions-f7b4039973398400e355c5ea2a068dac4bbc994b.tar.gz
deploy: Share SSH connectivity check in the common writeexts.py code
Also, change it to log the real error message in morph.log before raising a more general exception to the user.
-rw-r--r--writeexts.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/writeexts.py b/writeexts.py
index bff21e8d..3f9c33d5 100644
--- a/writeexts.py
+++ b/writeexts.py
@@ -15,6 +15,7 @@
import cliapp
+import logging
import os
import re
import shutil
@@ -417,3 +418,11 @@ class WriteExtension(cliapp.Application):
else:
raise cliapp.AppException('Unexpected value for %s: %s' %
(variable, value))
+
+ def check_ssh_connectivity(self, ssh_host):
+ try:
+ cliapp.ssh_runcmd(ssh_host, ['true'])
+ except cliapp.AppException as e:
+ logging.error("Error checking SSH connectivity: %s", str(e))
+ raise cliapp.AppException(
+ 'Unable to SSH to %s: %s' % (ssh_host, e))