From d4540763c43e93e0cdac6fb92d92dde96319e367 Mon Sep 17 00:00:00 2001
From: "Mads M. Pedersen" <mmpe@dtu.dk>
Date: Thu, 23 Mar 2017 11:41:22 +0100
Subject: [PATCH] paramiko optional fix

---
 wetb/hawc2/simulation.py                     |  2 ++
 wetb/hawc2/simulation_resources.py           | 10 +++++-----
 wetb/utils/cluster_tools/cluster_resource.py |  4 ++++
 wetb/utils/cluster_tools/pbsjob.py           |  2 --
 wetb/utils/cluster_tools/ssh_client.py       |  5 +----
 5 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/wetb/hawc2/simulation.py b/wetb/hawc2/simulation.py
index 8920ecb1..387f2913 100755
--- a/wetb/hawc2/simulation.py
+++ b/wetb/hawc2/simulation.py
@@ -388,6 +388,8 @@ class Simulation(object):
     def set_id(self, *args, **kwargs):
         pass
 
+    def progress_callback(self,*args, **kwargs):
+        pass
 
 class UpdateSimStatusThread(Thread):
     def __init__(self, simulation, interval=1):
diff --git a/wetb/hawc2/simulation_resources.py b/wetb/hawc2/simulation_resources.py
index 85b4a497..8904ebdd 100644
--- a/wetb/hawc2/simulation_resources.py
+++ b/wetb/hawc2/simulation_resources.py
@@ -16,12 +16,11 @@ import time
 from wetb.hawc2 import log_file
 from wetb.hawc2.log_file import LogInfo, LogFile
 from wetb.hawc2.simulation import ERROR, ABORTED
-from wetb.utils.cluster_tools import pbsjob
+
 from wetb.utils.cluster_tools.cluster_resource import LocalResource, \
-    SSHPBSClusterResource, unix_path
+    SSHPBSClusterResource
+from wetb.utils.cluster_tools import pbsjob
 from wetb.utils.cluster_tools.pbsjob import SSHPBSJob, NOT_SUBMITTED, DONE
-from wetb.utils.cluster_tools.ssh_client import SSHClient
-from wetb.utils.timing import print_time
 from wetb.hawc2.htc_file import fmt_path
 import numpy as np
 
@@ -249,7 +248,8 @@ class GormSimulationResource(PBSClusterSimulationResource):
     def __init__(self, username, password, wine_cmd="WINEARCH=win32 WINEPREFIX=~/.wine32 wine"):
         init_cmd = """export PATH=/home/python/miniconda3/bin:$PATH
 source activate wetb_py3"""
-        PBSClusterSimulationResource.__init__(self, "gorm.risoe.dk", username, password, 22, 25, 100, init_cmd, wine_cmd, "python")
+        from wetb.utils.cluster_tools.ssh_client import SSHClient
+        PBSClusterSimulationResource.__init__(self, SSHClient('gorm.risoe.dk', username, password, 22), 25, 100, init_cmd, wine_cmd, "python")
 
 
 class PBSClusterSimulationHost(SimulationHost):
diff --git a/wetb/utils/cluster_tools/cluster_resource.py b/wetb/utils/cluster_tools/cluster_resource.py
index 5c128cc5..7b2e71b2 100644
--- a/wetb/utils/cluster_tools/cluster_resource.py
+++ b/wetb/utils/cluster_tools/cluster_resource.py
@@ -119,6 +119,10 @@ class SSHPBSClusterResource(Resource):
     @property
     def host(self):
         return self.ssh.host
+    
+    @property
+    def username(self):
+        return self.ssh.username
 
 
     def new_ssh_connection(self):
diff --git a/wetb/utils/cluster_tools/pbsjob.py b/wetb/utils/cluster_tools/pbsjob.py
index d1c1c99e..0343b2de 100644
--- a/wetb/utils/cluster_tools/pbsjob.py
+++ b/wetb/utils/cluster_tools/pbsjob.py
@@ -4,7 +4,6 @@ Created on 04/12/2015
 @author: mmpe
 '''
 import os
-from wetb.utils.cluster_tools.ssh_client import SSHClient
 
 NOT_SUBMITTED = "Job not submitted"
 PENDING = "Pending"
@@ -38,7 +37,6 @@ class SSHPBSJob(object):
 
     @property
     def status(self):
-
         if self._status in [NOT_SUBMITTED, DONE]:
             return self._status
         with self.ssh:
diff --git a/wetb/utils/cluster_tools/ssh_client.py b/wetb/utils/cluster_tools/ssh_client.py
index 0c8c8786..66886fe3 100644
--- a/wetb/utils/cluster_tools/ssh_client.py
+++ b/wetb/utils/cluster_tools/ssh_client.py
@@ -6,10 +6,7 @@ Created on 27/11/2015
 
 from io import StringIO
 import sys
-try:
-    import paramiko
-except Exception as e:
-    sys.stderr.write("Paramiko(ssh client module) not imported\n%s"%str(e) )
+import paramiko
     
 import os
 import threading
-- 
GitLab