From 56c88cafd1b3606e814069a79f4ec265fc427c87 Mon Sep 17 00:00:00 2001 From: James Falcon Date: Thu, 23 Mar 2023 10:21:56 -0500 Subject: Don't change permissions of netrules target (#2076) Set permissions if file doesn't exist. Leave them if it does. LP: #2011783 Co-authored-by: Chad Smith --- cloudinit/net/eni.py | 4 +++- cloudinit/net/sysconfig.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'cloudinit') diff --git a/cloudinit/net/eni.py b/cloudinit/net/eni.py index ae56f72c..92aa83de 100644 --- a/cloudinit/net/eni.py +++ b/cloudinit/net/eni.py @@ -564,7 +564,9 @@ class Renderer(renderer.Renderer): netrules = subp.target_path(target, self.netrules_path) util.ensure_dir(os.path.dirname(netrules)) util.write_file( - netrules, self._render_persistent_net(network_state) + netrules, + content=self._render_persistent_net(network_state), + preserve_mode=True, ) diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py index d4daa78f..68fe41d8 100644 --- a/cloudinit/net/sysconfig.py +++ b/cloudinit/net/sysconfig.py @@ -1013,7 +1013,12 @@ class Renderer(renderer.Renderer): if self.netrules_path: netrules_content = self._render_persistent_net(network_state) netrules_path = subp.target_path(target, self.netrules_path) - util.write_file(netrules_path, netrules_content, file_mode) + util.write_file( + netrules_path, + content=netrules_content, + mode=file_mode, + preserve_mode=True, + ) sysconfig_path = subp.target_path(target, templates.get("control")) # Distros configuring /etc/sysconfig/network as a file e.g. Centos -- cgit v1.2.1