mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26: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,
|
addr: Optional[str] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
try:
|
try:
|
||||||
|
cephadm_tmp_dir = f"/tmp/cephadm-{self.mgr._cluster_fsid}"
|
||||||
dirname = os.path.dirname(path)
|
dirname = os.path.dirname(path)
|
||||||
await self._check_execute_command(host, ['mkdir', '-p', dirname], addr=addr)
|
await self._check_execute_command(host, ['mkdir', '-p', dirname], addr=addr)
|
||||||
await self._check_execute_command(host, ['mkdir', '-p', '/tmp' + dirname], addr=addr)
|
await self._check_execute_command(host, ['mkdir', '-p', cephadm_tmp_dir + dirname], addr=addr)
|
||||||
tmp_path = '/tmp' + path + '.new'
|
tmp_path = cephadm_tmp_dir + path + '.new'
|
||||||
await self._check_execute_command(host, ['touch', tmp_path], addr=addr)
|
await self._check_execute_command(host, ['touch', tmp_path], addr=addr)
|
||||||
if self.mgr.ssh_user != 'root':
|
if self.mgr.ssh_user != 'root':
|
||||||
assert self.mgr.ssh_user
|
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)
|
await self._check_execute_command(host, ['chmod', str(644), tmp_path], addr=addr)
|
||||||
with NamedTemporaryFile(prefix='cephadm-write-remote-file-') as f:
|
with NamedTemporaryFile(prefix='cephadm-write-remote-file-') as f:
|
||||||
os.fchmod(f.fileno(), 0o600)
|
os.fchmod(f.fileno(), 0o600)
|
||||||
|
Loading…
Reference in New Issue
Block a user