sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #03316
[Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
Christian Grabowski has proposed merging ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master.
Commit message:
clean old zonefiles when setting up the zonefile dir
Requested reviews:
MAAS Maintainers (maas-maintainers)
For more details, see:
https://code.launchpad.net/~cgrabowski/maas/+git/maas/+merge/433218
--
Your team MAAS Maintainers is requested to review the proposed merge of ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master.
diff --git a/src/provisioningserver/dns/config.py b/src/provisioningserver/dns/config.py
index 5673b4a..199fb76 100644
--- a/src/provisioningserver/dns/config.py
+++ b/src/provisioningserver/dns/config.py
@@ -239,6 +239,13 @@ def set_up_nsupdate_key():
atomic_write(tsig, get_nsupdate_key_path(), overwrite=True, mode=0o644)
+def clean_old_zone_files():
+ p = get_zone_file_config_dir()
+ files = os.listdir(p)
+ for f in files:
+ os.remove(os.path.join(p, f))
+
+
def set_up_zone_file_dir():
p = get_zone_file_config_dir()
if not os.path.exists(p):
@@ -252,6 +259,8 @@ def set_up_zone_file_dir():
os.chown(p, uid, gid)
os.chmod(p, 0o775)
+ else:
+ clean_old_zone_files()
def set_up_rndc():
diff --git a/src/provisioningserver/dns/tests/test_config.py b/src/provisioningserver/dns/tests/test_config.py
index 1e02498..646e18f 100644
--- a/src/provisioningserver/dns/tests/test_config.py
+++ b/src/provisioningserver/dns/tests/test_config.py
@@ -35,6 +35,7 @@ from maastesting.fakemethod import FakeMethod
from maastesting.testcase import MAASTestCase
from provisioningserver.dns import config
from provisioningserver.dns.config import (
+ clean_old_zone_files,
compose_config_path,
DEFAULT_CONTROLS,
DNSConfig,
@@ -58,6 +59,7 @@ from provisioningserver.dns.config import (
from provisioningserver.dns.testing import (
patch_dns_config_path,
patch_dns_default_controls,
+ patch_zone_file_config_path,
)
from provisioningserver.dns.zoneconfig import (
DNSForwardZoneConfig,
@@ -290,6 +292,21 @@ class TestRNDCUtilities(MAASTestCase):
)
self.assertThat(target_file, FileExists())
+ def test_clean_old_zone_files(self):
+ zone_file_dir = patch_zone_file_config_path(self)
+
+ zonefiles = [
+ os.path.join(zone_file_dir, f"zonefile{i}")
+ for i, _ in enumerate(range(2))
+ ]
+ for zonefile in zonefiles:
+ with open(zonefile, "w+") as f:
+ pass
+
+ clean_old_zone_files()
+ for zonefile in zonefiles:
+ self.assertRaises(FileNotFoundError, os.stat, zonefile)
+
def test_rndc_config_includes_default_controls(self):
dns_conf_dir = patch_dns_config_path(self)
patch_dns_default_controls(self, enable=True)
Follow ups
-
[Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: MAAS Lander, 2022-11-17
-
[Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: Alexsander de Souza, 2022-11-17
-
[Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: MAAS Lander, 2022-11-17
-
Re: [Merge] -b clean_old_zonefiles_on_dns_setup lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas - LANDING FAILED
From: MAAS Lander, 2022-11-17
-
[Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: Christian Grabowski, 2022-11-17
-
Re: [UNITTESTS] -b clean_old_zonefiles_on_dns_setup lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas - TESTS PASS
From: MAAS Lander, 2022-11-17
-
Re: [UNITTESTS] -b clean_old_zonefiles_on_dns_setup lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas - TESTS FAILED
From: MAAS Lander, 2022-11-17
-
Re: [Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: Christian Grabowski, 2022-11-17
-
Re: [UNITTESTS] -b clean_old_zonefiles_on_dns_setup lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas - TESTS FAILED
From: MAAS Lander, 2022-11-17
-
Re: [Merge] ~cgrabowski/maas:clean_old_zonefiles_on_dns_setup into maas:master
From: Alexsander de Souza, 2022-11-17
-
Re: [UNITTESTS] -b clean_old_zonefiles_on_dns_setup lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas - TESTS FAILED
From: MAAS Lander, 2022-11-17