|  |  |  | @ -12,10 +12,12 @@ def retryWithDelay(int maxRetries, int delay, Closure body) { | 
			
		
	
		
			
				
					|  |  |  |  | def device(String ip, String step_label, String cmd) { | 
			
		
	
		
			
				
					|  |  |  |  |   withCredentials([file(credentialsId: 'id_rsa', variable: 'key_file')]) { | 
			
		
	
		
			
				
					|  |  |  |  |     def ssh_cmd = """ | 
			
		
	
		
			
				
					|  |  |  |  | ssh -tt -o ConnectTimeout=5 -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o BatchMode=yes -o StrictHostKeyChecking=no -i ${key_file} 'comma@${ip}' /usr/bin/bash <<'END' | 
			
		
	
		
			
				
					|  |  |  |  | ssh -o ConnectTimeout=5 -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o BatchMode=yes -o StrictHostKeyChecking=no -i ${key_file} 'comma@${ip}' exec /usr/bin/bash <<'END' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | set -e | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export TERM=xterm-256color | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | shopt -s huponexit # kill all child processes when the shell exits | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export CI=1 | 
			
		
	
	
		
			
				
					|  |  |  | @ -65,8 +67,6 @@ ln -snf ${env.TEST_DIR} /data/pythonpath | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | cd ${env.TEST_DIR} || true | 
			
		
	
		
			
				
					|  |  |  |  | ${cmd} | 
			
		
	
		
			
				
					|  |  |  |  | exit 0 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | END""" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     sh script: ssh_cmd, label: step_label | 
			
		
	
	
		
			
				
					|  |  |  | 
 |