forked from ungleich-public/cdist
aa1c13898a
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
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
|