46 lines
1.2 KiB
Text
46 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
|