podman - fix rootless container copy no pause (#66583)
Fixes #66263 Signed-off-by: Adam Miller <admiller@redhat.com>
This commit is contained in:
parent
7ae5331218
commit
077a8b4898
2 changed files with 13 additions and 3 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- podman connection plugin - fix to handle the new default copy pause rootless containers from upstream (https://github.com/ansible/ansible/issues/66263)
|
|
@ -163,10 +163,18 @@ class Connection(ConnectionBase):
|
||||||
display.vvv("PUT %s TO %s" % (in_path, out_path), host=self._container_id)
|
display.vvv("PUT %s TO %s" % (in_path, out_path), host=self._container_id)
|
||||||
if not self._mount_point:
|
if not self._mount_point:
|
||||||
rc, stdout, stderr = self._podman(
|
rc, stdout, stderr = self._podman(
|
||||||
"cp", [in_path, self._container_id + ":" + out_path], use_container_id=False)
|
"cp", [in_path, self._container_id + ":" + out_path], use_container_id=False
|
||||||
|
)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
raise AnsibleError("Failed to copy file from %s to %s in container %s\n%s" % (
|
if 'cannot copy into running rootless container with pause set' in to_native(stderr):
|
||||||
in_path, out_path, self._container_id, stderr))
|
rc, stdout, stderr = self._podman(
|
||||||
|
"cp", ["--pause=false", in_path, self._container_id + ":" + out_path], use_container_id=False
|
||||||
|
)
|
||||||
|
if rc != 0:
|
||||||
|
raise AnsibleError(
|
||||||
|
"Failed to copy file from %s to %s in container %s\n%s" % (
|
||||||
|
in_path, out_path, self._container_id, stderr)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
real_out_path = self._mount_point + to_bytes(out_path, errors='surrogate_or_strict')
|
real_out_path = self._mount_point + to_bytes(out_path, errors='surrogate_or_strict')
|
||||||
shutil.copyfile(
|
shutil.copyfile(
|
||||||
|
|
Loading…
Reference in a new issue