[stable-2.9] podman - fix rootless container copy no pause (#66583) (#66588)

Fixes #66263

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 077a8b4898)

Co-authored-by: Adam Miller <admiller@redhat.com>

Co-authored-by: Adam Miller <admiller@redhat.com>
pull/67297/head
Sam Doran 5 years ago committed by GitHub
parent c4f1e04bef
commit 6120cd18e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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)

@ -133,10 +133,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…
Cancel
Save