From eea3b5723dc62fa06942cde174e7462b31a78ae1 Mon Sep 17 00:00:00 2001 From: Bernardo Dal Seno <bdalseno@google.com> Date: Tue, 13 Dec 2011 16:01:24 +0100 Subject: [PATCH] noded: Fix /etc/hosts group ownership When Ganeti was compiled with the option of running as a different user/group, the group ownership of /etc/hosts was set to gnt-daemons. Now permissions for /etc/hosts are preserved (or set correctly). Signed-off-by: Bernardo Dal Seno <bdalseno@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/utils/nodesetup.py | 6 ++++-- test/ganeti.utils.nodesetup_unittest.py | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/utils/nodesetup.py b/lib/utils/nodesetup.py index 0931ee320..5dfc62187 100644 --- a/lib/utils/nodesetup.py +++ b/lib/utils/nodesetup.py @@ -62,7 +62,8 @@ def SetEtcHostsEntry(file_name, ip, hostname, aliases): out.write(line) _write_entry(written) - io.WriteFile(file_name, data=out.getvalue(), mode=0644) + io.WriteFile(file_name, data=out.getvalue(), uid=0, gid=0, mode=0644, + keep_perms=io.KP_IF_EXISTS) def AddHostToEtcHosts(hostname, ip): @@ -104,7 +105,8 @@ def RemoveEtcHostsEntry(file_name, hostname): out.write(line) - io.WriteFile(file_name, data=out.getvalue(), mode=0644) + io.WriteFile(file_name, data=out.getvalue(), uid=0, gid=0, mode=0644, + keep_perms=io.KP_IF_EXISTS) def RemoveHostFromEtcHosts(hostname): diff --git a/test/ganeti.utils.nodesetup_unittest.py b/test/ganeti.utils.nodesetup_unittest.py index c3480c2e0..2c6148921 100755 --- a/test/ganeti.utils.nodesetup_unittest.py +++ b/test/ganeti.utils.nodesetup_unittest.py @@ -44,6 +44,7 @@ class TestEtcHosts(testutils.GanetiTestCase): handle.write("192.0.2.1 router gw\n") finally: handle.close() + os.chmod(self.tmpname, 0644) def testSettingNewIp(self): utils.SetEtcHostsEntry(self.tmpname, "198.51.100.4", "myhost.example.com", -- GitLab