From dbdc70cbe088b2296aa25dff28c5d4f6fe0667aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Tue, 11 Jul 2023 15:56:31 +0200 Subject: [PATCH] Convert setup.pl into static configurations The setup.pl script has been replaced with static BIND configurations, and in the course of this change, the unused ns1 server was removed. This enhancement has greatly improved the overall test's readability. (cherry picked from commit 08a8906cfcf2ba4c1b305a14411b24b18f32e0ae) --- bin/tests/system/stress/clean.sh | 4 - bin/tests/system/stress/ns1/named.conf.in | 32 -------- bin/tests/system/stress/ns2/named.conf.in | 31 ++++++- bin/tests/system/stress/ns2/zone.template.db | 21 +++++ bin/tests/system/stress/ns3/named.conf.in | 36 ++++++-- bin/tests/system/stress/ns4/named.conf.in | 30 ++++++- bin/tests/system/stress/setup.pl | 86 -------------------- bin/tests/system/stress/setup.sh | 11 ++- 8 files changed, 109 insertions(+), 142 deletions(-) delete mode 100644 bin/tests/system/stress/ns1/named.conf.in create mode 100644 bin/tests/system/stress/ns2/zone.template.db delete mode 100644 bin/tests/system/stress/setup.pl diff --git a/bin/tests/system/stress/clean.sh b/bin/tests/system/stress/clean.sh index 0396845cbd..4833fa7df8 100644 --- a/bin/tests/system/stress/clean.sh +++ b/bin/tests/system/stress/clean.sh @@ -11,12 +11,8 @@ # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. -rm -f ns?/zones.conf rm -f ns?/zone*.bk -rm -f ns1/delegations.db -rm -f ns1/root.db - rm -f ns2/zone0*.db rm -f ns2/zone0*.jnl rm -f */named.memstats diff --git a/bin/tests/system/stress/ns1/named.conf.in b/bin/tests/system/stress/ns1/named.conf.in deleted file mode 100644 index 74ad00787b..0000000000 --- a/bin/tests/system/stress/ns1/named.conf.in +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -controls { /* empty */ }; - -options { - query-source address 10.53.0.1; - notify-source 10.53.0.1; - transfer-source 10.53.0.1; - port @PORT@; - pid-file "named.pid"; - listen-on { 10.53.0.1; }; - listen-on-v6 { none; }; - recursion no; - dnssec-validation no; - notify yes; -}; - -zone "." { - type primary; - file "root.db"; -}; diff --git a/bin/tests/system/stress/ns2/named.conf.in b/bin/tests/system/stress/ns2/named.conf.in index 5bbea78aca..607e0b5341 100644 --- a/bin/tests/system/stress/ns2/named.conf.in +++ b/bin/tests/system/stress/ns2/named.conf.in @@ -26,9 +26,32 @@ options { notify yes; }; -zone "." { - type hint; - file "../../common/root.hint"; +zone "zone000000.example" { + type primary; + allow-update { any; }; + file "zone000000.example.db"; }; -include "zones.conf"; +zone "zone000001.example" { + type primary; + allow-update { any; }; + file "zone000001.example.db"; +}; + +zone "zone000002.example" { + type primary; + allow-update { any; }; + file "zone000002.example.db"; +}; + +zone "zone000003.example" { + type primary; + allow-update { any; }; + file "zone000003.example.db"; +}; + +zone "zone000004.example" { + type primary; + allow-update { any; }; + file "zone000004.example.db"; +}; diff --git a/bin/tests/system/stress/ns2/zone.template.db b/bin/tests/system/stress/ns2/zone.template.db new file mode 100644 index 0000000000..7ca1cc3de7 --- /dev/null +++ b/bin/tests/system/stress/ns2/zone.template.db @@ -0,0 +1,21 @@ +; Copyright (C) Internet Systems Consortium, Inc. ("ISC") +; +; SPDX-License-Identifier: MPL-2.0 +; +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, you can obtain one at https://mozilla.org/MPL/2.0/. +; +; See the COPYRIGHT file distributed with this work for additional +; information regarding copyright ownership. + +$TTL 300 +@ IN SOA ns2 hostmaster 1 300 120 3600 86400 +@ NS ns2 + NS ns3 + NS ns4 +ns2 A 10.53.0.2 +ns3 A 10.53.0.3 +ns4 A 10.53.0.4 + +$GENERATE 0-999 name${0,6} A 10.0.0.1 diff --git a/bin/tests/system/stress/ns3/named.conf.in b/bin/tests/system/stress/ns3/named.conf.in index 036ffdbac2..13e54a54e4 100644 --- a/bin/tests/system/stress/ns3/named.conf.in +++ b/bin/tests/system/stress/ns3/named.conf.in @@ -35,16 +35,40 @@ controls { inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -zone "." { - type hint; - file "../../common/root.hint"; -}; - server 10.53.0.4 { provide-ixfr no; }; + server 10.53.0.2 { request-ixfr no; }; -include "zones.conf"; +zone "zone000000.example" { + type secondary; + file "zone000000.example.bk"; + primaries { 10.53.0.2; }; +}; + +zone "zone000001.example" { + type secondary; + file "zone000001.example.bk"; + primaries { 10.53.0.2; }; +}; + +zone "zone000002.example" { + type secondary; + file "zone000002.example.bk"; + primaries { 10.53.0.2; }; +}; + +zone "zone000003.example" { + type secondary; + file "zone000003.example.bk"; + primaries { 10.53.0.2; }; +}; + +zone "zone000004.example" { + type secondary; + file "zone000004.example.bk"; + primaries { 10.53.0.2; }; +}; diff --git a/bin/tests/system/stress/ns4/named.conf.in b/bin/tests/system/stress/ns4/named.conf.in index 57f7e40fdd..26296f52bf 100644 --- a/bin/tests/system/stress/ns4/named.conf.in +++ b/bin/tests/system/stress/ns4/named.conf.in @@ -26,10 +26,32 @@ options { notify yes; }; -zone "." { - type hint; - file "../../common/root.hint"; +zone "zone000000.example" { + type secondary; + file "zone000000.example.bk"; + primaries { 10.53.0.3; }; }; -include "zones.conf"; +zone "zone000001.example" { + type secondary; + file "zone000001.example.bk"; + primaries { 10.53.0.3; }; +}; +zone "zone000002.example" { + type secondary; + file "zone000002.example.bk"; + primaries { 10.53.0.3; }; +}; + +zone "zone000003.example" { + type secondary; + file "zone000003.example.bk"; + primaries { 10.53.0.3; }; +}; + +zone "zone000004.example" { + type secondary; + file "zone000004.example.bk"; + primaries { 10.53.0.3; }; +}; diff --git a/bin/tests/system/stress/setup.pl b/bin/tests/system/stress/setup.pl deleted file mode 100644 index 18a4246b29..0000000000 --- a/bin/tests/system/stress/setup.pl +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/perl - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -# -# Set up test data for zone transfer quota tests. -# -use FileHandle; - -my $n_zones = 5; -my $n_names = 1000; - -make_zones(2, undef); -make_zones(3, "10.53.0.2"); -make_zones(4, "10.53.0.3"); - -my $rootdelegations = - new FileHandle("ns1/root.db", "w") or die; - -print $rootdelegations <close; - } - } -} diff --git a/bin/tests/system/stress/setup.sh b/bin/tests/system/stress/setup.sh index cc751d3b7a..aab7002904 100644 --- a/bin/tests/system/stress/setup.sh +++ b/bin/tests/system/stress/setup.sh @@ -14,13 +14,12 @@ # shellcheck source=conf.sh . ../conf.sh -# -# Set up test data for zone transfer quota tests. -# +cp ns2/zone.template.db ns2/zone000000.example.db +cp ns2/zone.template.db ns2/zone000001.example.db +cp ns2/zone.template.db ns2/zone000002.example.db +cp ns2/zone.template.db ns2/zone000003.example.db +cp ns2/zone.template.db ns2/zone000004.example.db -$PERL setup.pl - -copy_setports ns1/named.conf.in ns1/named.conf copy_setports ns2/named.conf.in ns2/named.conf copy_setports ns3/named.conf.in ns3/named.conf copy_setports ns4/named.conf.in ns4/named.conf