aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kolla/image/tasks.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/kolla/image/tasks.py b/kolla/image/tasks.py
index cbfecce09..bfc01dec5 100644
--- a/kolla/image/tasks.py
+++ b/kolla/image/tasks.py
@@ -293,8 +293,18 @@ class BuildTask(DockerTask):
image.status = Status.CONNECTION_ERROR
raise ArchivingError
arc_path = os.path.join(image.path, '%s-archive' % arcname)
+
+ # NOTE(jneumann): Change ownership of files to root:root. This
+ # avoids an issue introduced by the fix for git CVE-2022-24765,
+ # which breaks PBR when the source checkout is not owned by the
+ # user installing it. LP#1969096
+ def reset_userinfo(tarinfo):
+ tarinfo.uid = tarinfo.gid = 0
+ tarinfo.uname = tarinfo.gname = "root"
+ return tarinfo
+
with tarfile.open(arc_path, 'w') as tar:
- tar.add(items_path, arcname=arcname)
+ tar.add(items_path, arcname=arcname, filter=reset_userinfo)
return len(os.listdir(items_path))
self.logger.debug('Processing')