84 lines
3.0 KiB
Diff
84 lines
3.0 KiB
Diff
From 094e416fff2c2c2d0f0d83d4201860e52e65d0ac Mon Sep 17 00:00:00 2001
|
|
From: Aram Sargsyan <aram@isc.org>
|
|
Date: Wed, 29 Dec 2021 09:07:03 +0000
|
|
Subject: [PATCH] Add a system test for view reverting after a failed
|
|
reconfiguration
|
|
|
|
Test the view reverting code by introducing a faulty dlz configuration
|
|
in named.conf and using `rndc reconfig` to check if named handles the
|
|
situation correctly.
|
|
|
|
We use "dlz" because the dlz processing code is located in an ideal
|
|
place in the view configuration function for the test to cover the
|
|
view reverting code.
|
|
|
|
This test is specifically added to the catz system test to additionally
|
|
cover the catz reconfiguration during the mentioned failed
|
|
reconfiguration attempt.
|
|
|
|
(cherry picked from commit 62337d433f233506d340acdedb7d46bdc0dd662f)
|
|
Conflict: NA
|
|
Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/094e416fff2c2c2d0f0d83d4201860e52e65d0ac
|
|
---
|
|
bin/tests/system/catz/ns2/named1.conf.in | 8 ++++++++
|
|
bin/tests/system/catz/tests.sh | 24 ++++++++++++++++++++++++
|
|
2 files changed, 32 insertions(+)
|
|
|
|
diff --git a/bin/tests/system/catz/ns2/named1.conf.in b/bin/tests/system/catz/ns2/named1.conf.in
|
|
index 7c5f8c2835..8519802bb0 100644
|
|
--- a/bin/tests/system/catz/ns2/named1.conf.in
|
|
+++ b/bin/tests/system/catz/ns2/named1.conf.in
|
|
@@ -46,6 +46,14 @@ options {
|
|
};
|
|
};
|
|
|
|
+# A faulty dlz configuration to check if named and catz survive a certain class
|
|
+# of failed configuration attempts (see GL#3060).
|
|
+# We use "dlz" because the dlz processing code is located in an ideal place in
|
|
+# the view configuration function for the test to cover the view reverting code.
|
|
+#T3dlz "bad-dlz" {
|
|
+#T3 database "dlopen bad-dlz.so example.org";
|
|
+#T3};
|
|
+
|
|
zone "catalog1.example" {
|
|
type secondary;
|
|
file "catalog1.example.db";
|
|
diff --git a/bin/tests/system/catz/tests.sh b/bin/tests/system/catz/tests.sh
|
|
index f217103d8f..2f50740374 100644
|
|
--- a/bin/tests/system/catz/tests.sh
|
|
+++ b/bin/tests/system/catz/tests.sh
|
|
@@ -370,6 +370,30 @@ wait_for_soa @10.53.0.2 dom3.example. dig.out.test$n || ret=1
|
|
if [ $ret -ne 0 ]; then echo_i "failed"; fi
|
|
status=$((status+ret))
|
|
|
|
+n=$((n+1))
|
|
+echo_i "reconfiguring secondary - checking if catz survives a certain class of failed reconfiguration attempts ($n)"
|
|
+ret=0
|
|
+sed -e "s/^#T3//" < ns2/named1.conf.in > ns2/named.conf.tmp
|
|
+copy_setports ns2/named.conf.tmp ns2/named.conf
|
|
+$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p "${CONTROLPORT}" reconfig > /dev/null 2>&1 && ret=1
|
|
+if [ $ret -ne 0 ]; then echo_i "failed"; fi
|
|
+status=$((status+ret))
|
|
+
|
|
+n=$((n+1))
|
|
+echo_i "checking again that dom3.example. is served by secondary ($n)"
|
|
+ret=0
|
|
+wait_for_soa @10.53.0.2 dom3.example. dig.out.test$n || ret=1
|
|
+if [ $ret -ne 0 ]; then echo_i "failed"; fi
|
|
+status=$((status+ret))
|
|
+
|
|
+n=$((n+1))
|
|
+echo_i "reconfiguring secondary - reverting the bad configuration ($n)"
|
|
+ret=0
|
|
+copy_setports ns2/named1.conf.in ns2/named.conf
|
|
+rndccmd 10.53.0.2 reconfig || ret=1
|
|
+if [ $ret -ne 0 ]; then echo_i "failed"; fi
|
|
+status=$((status+ret))
|
|
+
|
|
n=$((n+1))
|
|
echo_i "removing all records from catalog1 zone ($n)"
|
|
ret=0
|
|
--
|
|
2.23.0
|
|
|