45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|  | Commands needed: | ||
|  |    conf/cmd/remote_exec | ||
|  |    conf/cmd/copy | ||
|  | 
 | ||
|  | If ! conf/cmd/remote_exec: | ||
|  |    use builtin | ||
|  | If ! conf/cmd/copy: | ||
|  |    use builtin | ||
|  | 
 | ||
|  |    -> Depend on session! | ||
|  | 
 | ||
|  | Builtin: | ||
|  |         cdist.exec.run_or_fail(["scp", "-qr", source,  | ||
|  |                                 self.remote_user + "@" +  | ||
|  |                                 self.target_host + ":" +  | ||
|  |                                 destination]) | ||
|  | 
 | ||
|  | self.remote_prefix = ["ssh", self.remote_user + "@" + self.target_host] | ||
|  | 
 | ||
|  |         self.remote_user = remote_user | ||
|  |         self.remote_prefix = remote_prefix | ||
|  | 
 | ||
|  | -------------------------------------------------------------------------------- | ||
|  | What is in a session? | ||
|  | 
 | ||
|  |    base_dir | ||
|  |    target_host | ||
|  | 
 | ||
|  | -------------------------------------------------------------------------------- | ||
|  | remote_user  | ||
|  |    pseudo-static, can be hardcoded again | ||
|  | -------------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | Result: | ||
|  | 
 | ||
|  | os.environ['__remote_exec'] = ["ssh", "-l", "root" ] | ||
|  | os.environ['__remote_copy'] = ["scp", "-o" "User=root" ] | ||
|  | 
 | ||
|  | args for __remote_exec | ||
|  |    $1 = hostname | ||
|  |    $2 - ...  = stuff to be executed in /bin/sh on remote side | ||
|  | 
 | ||
|  | args for __remote_copy | ||
|  |    $1 = file here | ||
|  |    $2 = hostname:destination |