mirror of
https://github.com/ceph/ceph
synced 2025-03-29 23:09:47 +00:00
mgr/cephadm: use a dedicated cephadm tmp dir to copy remote files
Fixes: https://tracker.ceph.com/issues/59189 Signed-off-by: Redouane Kachach <rkachach@redhat.com>
This commit is contained in:
parent
f5c5009eab
commit
ef958d47b4
@ -223,14 +223,15 @@ class SSHManager:
|
||||
addr: Optional[str] = None,
|
||||
) -> None:
|
||||
try:
|
||||
cephadm_tmp_dir = f"/tmp/cephadm-{self.mgr._cluster_fsid}"
|
||||
dirname = os.path.dirname(path)
|
||||
await self._check_execute_command(host, ['mkdir', '-p', dirname], addr=addr)
|
||||
await self._check_execute_command(host, ['mkdir', '-p', '/tmp' + dirname], addr=addr)
|
||||
tmp_path = '/tmp' + path + '.new'
|
||||
await self._check_execute_command(host, ['mkdir', '-p', cephadm_tmp_dir + dirname], addr=addr)
|
||||
tmp_path = cephadm_tmp_dir + path + '.new'
|
||||
await self._check_execute_command(host, ['touch', tmp_path], addr=addr)
|
||||
if self.mgr.ssh_user != 'root':
|
||||
assert self.mgr.ssh_user
|
||||
await self._check_execute_command(host, ['chown', '-R', self.mgr.ssh_user, tmp_path], addr=addr)
|
||||
await self._check_execute_command(host, ['chown', '-R', self.mgr.ssh_user, cephadm_tmp_dir], addr=addr)
|
||||
await self._check_execute_command(host, ['chmod', str(644), tmp_path], addr=addr)
|
||||
with NamedTemporaryFile(prefix='cephadm-write-remote-file-') as f:
|
||||
os.fchmod(f.fileno(), 0o600)
|
||||
|
Loading…
Reference in New Issue
Block a user