summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorJames Falcon <james.falcon@canonical.com>2023-03-23 10:21:56 -0500
committerGitHub <noreply@github.com>2023-03-23 10:21:56 -0500
commit56c88cafd1b3606e814069a79f4ec265fc427c87 (patch)
treee9529363f4bde9e1eb8765a20282435e3365732d /cloudinit
parente54ca3add327e09dbe40929c9ac16e1cefa37cf5 (diff)
downloadcloud-init-git-56c88cafd1b3606e814069a79f4ec265fc427c87.tar.gz
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 <chad.smith@canonical.com>
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/net/eni.py4
-rw-r--r--cloudinit/net/sysconfig.py7
2 files changed, 9 insertions, 2 deletions
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