Commit Graph

35251 Commits

Author SHA1 Message Date
Michal Nowak
75d656d9b8 Drop "unstable" Debian "bullseye" unit and system jobs
"Unstable" Debian "bullseye" unit and system jobs differ from unit and
system jobs on the Debian "bullseye" image by running a few more tests
enabled by the CI_ENABLE_ALL_TESTS environmental variable.  These tests
are no less stable than the rest, and thus to have distinct jobs for
them wastes resources.

Run "unstable" unit and system tests as part of stock Debian "bullseye"
jobs.

(cherry picked from commit 2b9111b435)
2023-03-28 16:41:03 +02:00
Michal Nowak
8ed6f0a075 Drop unit and system tests on amd64cross32
amd64cross32 jobs run a cross-compiled 32-bit BIND 9 on the 64-bit
platform. This approach brings no build issues, and it is a good way to
catch 32-bit issues in BIND 9 code-base and ensure cross-compilation
keeps working.

Unfortunately, running unit and system tests is a problem:

- #3269 - doth-ns1 frequently failed to start
- #3316 - quota_test sometimes fails to create new thread
- #3956 - tcp-ns1 sometimes fails to allocate memory

There's little value in running unit and system tests on the
amd64cross32 platform, and it only means the effort spent by QA by
looking into what turns out to be 32-bit limitations.

(cherry picked from commit f86d4f3bd8)
2023-03-28 16:41:01 +02:00
Matthijs Mekking
3f015130e4 Merge branch '3959-log-purge-timestamps-bug-v9_16' into 'bind-9.16'
[9.16] Fix a bug related to rolling timestamp logifles

See merge request isc-projects/bind9!7720
2023-03-28 10:26:10 +00:00
Mark Andrews
c3f5ef24b2 Accept either 2 or 3 old versions of log file
Depending upon when the directory is sampled there may be 2
(oldest version removed and rename / reopen is in progresss) or
3 old versions of the log file.

(cherry picked from commit f485bb19c0)
2023-03-28 10:03:33 +00:00
Evan Hunt
a30544d6c0 CHANGES and release note for [GL #828]
Note: added a reference to GL #3959.

(cherry picked from commit 96980adbad)
2023-03-28 10:03:33 +00:00
Evan Hunt
6e422ae3ae fixed a bug in rolling timestamp logfiles
due to comparing logfile suffixes as 32 bit rather than 64 bit
integers, logfiles with timestamp suffixes that should have been
removed when rolling could be left in place. this has been fixed.

(cherry picked from commit 9a9e906306)
2023-03-28 10:03:33 +00:00
Evan Hunt
e2f7f63448 rewrite logfileconfig system test
the logfileconfig system test did not conform to the style of
other tests, and was difficult to read and maintain. it has
been cleaned up and simplifeid in several ways:

- named.args used when appropriate so that named can be started with
  specified command line arguments, instead of having it launched
  directly from tests.sh
- unused root zone removed from named configuration
- an existing directory used instead of using 'mkdir' to create one
- dnssec-validation disabled to stop the server sending unnecessary
  queries

incidental fix: removed leftover debugging printfs from logconf.c.

(manually picked from commit 76baed3343)
2023-03-28 10:03:33 +00:00
Tom Krizek
2ade339feb Merge branch 'tkrizek/gh-actions-branch-name-update-9.16' into 'bind-9.16'
[9.16] Update branch&tag name conventions

See merge request isc-projects/bind9!7735
2023-03-27 16:29:16 +00:00
Tom Krizek
6b851c87fc Update branch&tag naming convention in CONTRIBUTING
(cherry picked from commit 5248a3e7db)
2023-03-27 18:18:18 +02:00
Tom Krizek
c45ad643a5 Update github actions to trigger on correct branches
The naming convention for maintanence branches was changed from `vX_Y`
to `bind-X.Y`.

(cherry picked from commit ee53e3c02d)
2023-03-27 17:46:20 +02:00
Tom Krizek
49531735a6 Merge branch '3962-doc-arm-fixes-9.16' into 'bind-9.16'
[9.16] Documentation formatting fixes in ARM

See merge request isc-projects/bind9!7733
2023-03-27 15:45:59 +00:00
Tom Krizek
098c7a80a8 Add missing newline in documentation code example
(manually picked from 1849c02606)
2023-03-27 17:15:11 +02:00
Petr Špaček
277f1edf70 Merge branch 'pspacek/qmin-docs-describe-underscore-9.16' into 'bind-9.16'
[9.16] Clarify qname-minimization relaxed in the ARM

See merge request isc-projects/bind9!7731
2023-03-27 13:25:41 +00:00
Petr Špaček
4bbe035ddf Clarify qname-minimization relaxed in the ARM
Leading underscore in qname confused some users, and it was not
documented.

(cherry picked from commit 02430a7263)
2023-03-27 15:25:24 +02:00
Michal Nowak
2956e2ac1b Merge branch 'mnowak/suppress-gitlab-clean-up-output-9.16' into 'bind-9.16'
[9.16] Suppress Git clean output in GitLab CI

See merge request isc-projects/bind9!7730
2023-03-27 13:12:29 +00:00
Michal Nowak
dc5f7ef446 Suppress Git clean output in GitLab CI
Git clean in GitLab CI can take up to a thousand lines, thus cluttering
the output for no good reason.

The default GitLab GIT_CLEAN_FLAGS variable is extended with "q" as in
"quiet.

(cherry picked from commit ddb33a12fc)
2023-03-27 15:07:48 +02:00
Matthijs Mekking
aa286fce21 Merge branch '3925-serve-stale-system-test-failure-v9_16' into 'bind-9.16'
[9.16] Lower chance of intermittent serve-stale system test failure

See merge request isc-projects/bind9!7663
2023-03-27 08:42:40 +00:00
Matthijs Mekking
6a97848791 Update serve-stale system test
The serve-stale system test was intermittently failing due to a timing
issue:

    I:serve-stale:check stale data.example TXT was refreshed...
    I:serve-stale:failed

The RRset is refreshed, however, it first checks for an expected log
line, prior checking that the stale data.example TXT was refreshed
(using dig). This log line is there to ensure the record is actually
refreshed before we start querying again. Alternatively we could just
retry_quiet 10 <wait for dig output matches expectations>. It would
lower the chances for intermittent test failures, since there is no
longer a "check for log line, sleep one second if check fails, check
for log line, ...", prior to the check.

(cherry picked from commit 0bf36da305)
2023-03-27 08:21:54 +00:00
Michal Nowak
3ed03c8287 Merge branch 'mnowak/testcrypto.sh-run-in-TMPDIR-if-possible' into 'bind-9.16'
[9.16] testcrypto.sh: run in TMPDIR if possible

See merge request isc-projects/bind9!7710
2023-03-23 16:21:49 +00:00
Tom Krizek
d631ecdde7 testcrypto.sh: run in TMPDIR if possible
Avoid creating any temporary files in the current workdir.

Additional/changing files in the bin/tests/system directory are
problematic for pytest/xdist collection phase, which assumes the list of
files doesn't change between the collection phase of the main pytest
thread and the subsequent collection phase of the xdist worker threads.

Since the testcrypto.sh is also called during pytest initialization
through conf.sh.common (to detect feature support), this could
occasionally cause a race condition when the list of files would be
different for the main pytest thread and the xdist worker.

(cherry picked from commit 61330a7863)
2023-03-23 17:17:59 +01:00
Michal Nowak
44f59ef6f6 Merge branch 'mnowak/ci-docs-drop-allow_failure-false' into 'bind-9.16'
Drop no-op "allow_failure: false" of the "docs" job

See merge request isc-projects/bind9!7701
2023-03-22 14:57:22 +00:00
Michal Nowak
1aee83e906 Drop no-op "allow_failure: false" of the "docs" job
"allow_failure: false" is the default for all but manual jobs, thus a
no-op in this context.
2023-03-22 15:53:33 +01:00
Tom Krizek
5fea9c8e9a Merge branch '3665-dupsigs-test-stability-9.16' into 'bind-9.16'
[9.16] Improve dupsigs test stability

See merge request isc-projects/bind9!7707
2023-03-22 13:49:30 +00:00
Tom Krizek
4d31ebf088 Lighten the CI load during the dupsigs test
Previously, an AXFR request would be issued every second while waiting
for the zone to be signed. This might've been the cause of issues in CI
where many tests are running in parallel and any extra load may increase
test instability.

Instead, check for the last NSEC record to have a signature before
commencing the AXFR request to check the zone has been fully signed.

Also increase the time for the zone signing to a total of 60+10 seconds
up from the previous 30.

(cherry picked from commit 3291c891f6)
2023-03-22 14:26:10 +01:00
Tom Krizek
3f0f2a3324 End dupsigs test early if it fails
There's no point in continuing the dupsigs test if a failure is
detected. End the test early to avoid wasting time and resources.

(cherry picked from commit ad647dca13)
2023-03-22 14:26:10 +01:00
Tom Krizek
de5e04fd0d Store dupsigs axfr to a file for easier debugging
(cherry picked from commit fad2eee631)
2023-03-22 14:26:10 +01:00
Tom Krizek
42987fd2d4 Redirect dupsigs test output to proper logger
Ensure messages from dupsigs system test end up in its log rather than
stdout. Previously, the output was hard to debug when running the tests
in parallel and messages wouldn't end up in the dupsigs.log.

(cherry picked from commit cbe2559f37)
2023-03-22 14:26:08 +01:00
Tom Krizek
34acd5276b Merge branch 'tkrizek/dupsigs-fully-signed-check-9.16' into 'bind-9.16'
Fix the fully signed zone check in dupsigs test

See merge request isc-projects/bind9!7708
2023-03-22 13:24:53 +00:00
Tom Krizek
303f16e16d Fix the fully signed zone check in dupsigs test
In v9.16, the number of expected signatures for the fully signed dupsigs
zone is 1009 rather than 1008, since there is one extra DNSKEY
signature. The test itself checks for the correct number, but the
barrier which waits for the zone to be fully signed doesn't.

In practice, this had the effect of always waiting the full 30 seconds
for the zone to be signed. Afterwards, the wait barrier would fail.
However, the return code isn't handled, so the test would proceed and
succeed anyway, since 30 seconds was enough time for the zone to get
fully signed.

This issue was introduced during a backport in commit
4840d6f9c9.
2023-03-22 11:56:12 +01:00
Michal Nowak
38d72541be Merge branch 'mnowak/respdiff-drop-allow_failure-9.16' into 'bind-9.16'
[9.16] respdiff jobs do not need "allow_failure: true"

See merge request isc-projects/bind9!7700
2023-03-17 10:31:22 +00:00
Michal Nowak
8691e9729e respdiff jobs do not need "allow_failure: true"
ASAN and TSAN respdiff jobs should be stable and not require
"allow_failure: true" anymore.

(cherry picked from commit dd97ddca6f)
2023-03-17 11:18:40 +01:00
Tom Krizek
4aeda47352 Merge branch 'tkrizek/ci-artifacts-1d-9.16' into 'bind-9.16'
[9.16] Use the default retention time for CI artifacts

See merge request isc-projects/bind9!7695
2023-03-16 14:17:51 +00:00
Tom Krizek
08839485af Use the default retention time for CI artifacts
The instance-wide GitLab CI artifact retention time was changed to 1 day
up from the previous value of 12 hours. Remove our explicit overrides
for 1 day artifact retention time, as it is the default now.

Previously, most of our jobs had overrides for 1 day retention, while
some of our jobs used the default 12 hours. This discrepancy could be
quite impractical at times.

(cherry picked from commit 8fef5676fa)
2023-03-16 15:16:23 +01:00
Tom Krizek
c0e4596fb2 Move gitlab-ci.yml comment to its proper place
The comment refers to "interruptible" key, rather than the entire
"default" section.

(cherry picked from commit 1139907450)
2023-03-16 15:14:51 +01:00
Tom Krizek
d8c68afa8a Merge tag 'v9_16_39' into v9_16
BIND 9.16.39
2023-03-15 18:53:29 +01:00
Mark Andrews
0b35e0cc8f Merge branch '3937-zone-sign-kasp-v9_16' into 'v9_16'
[9.16] Resolve "NSEC records aren't signed with both configured algorithms during NSEC3->NSEC transition"

See merge request isc-projects/bind9!7686
2023-03-14 22:30:55 +00:00
Mark Andrews
0c8eec4963 Add CHANGES for [GL #3937]
(cherry picked from commit aafcb8611c)
2023-03-15 00:30:56 +11:00
Mark Andrews
772cdf453d When signing with a new algorithm preserve NSEC/NSEC3 chains
If the zone already has existing NSEC/NSEC3 chains then zone_sign
needs to continue to use them.  If there are no chains then use
kasp setting otherwise generate an NSEC chain.

(cherry picked from commit 4b55201459)
2023-03-15 00:30:22 +11:00
Arаm Sаrgsyаn
589a203f23 Merge branch '3924-dnstap-test-timing-issue-v9_16' into 'v9_16'
[9.16] Resolve "missing messages in `dnstap` system test after query failure"

See merge request isc-projects/bind9!7678
2023-03-13 14:05:35 +00:00
Aram Sargsyan
299c023024 Improve dnstap system test reliability
The dnstap system test fails intermittently, and it appears to be
a timing issue - adding a short delay after running 'fstrm_capture',
and before running 'dnstap -reopen' improves the situation from
50% failures (5 out of 10 times) to 0% failures (0 out of 20 times),
tested locally.

The reason is that 'fstrm_capture' is executed in the background,
and due to OS scheduling and other factors, the listener socket
may not be ready when the following command runs and tells 'named'
to (re)open it.

(cherry picked from commit fa686fcea5)
2023-03-13 11:57:43 +00:00
Michal Nowak
58fd13ee5e Merge branch 'mnowak/stress-test-drop-parallel-build-v9_16' into 'v9_16'
[9.16] Drop parallel build from stress tests

See merge request isc-projects/bind9!7672
2023-03-09 17:42:50 +00:00
Michal Nowak
70f23b7dde Drop parallel build from stress tests
BUILD_PARALLEL_JOBS environmental variable is set to 6, which does not
align well with 4 and 8 CPU core systems dedicated to CI "stress" tests.
When multiple parallel jobs run on the host, they compete for resources
with an undesirable result: 6 compiler processes of one job may starve
named, resulting in lower-than-expected throughput and minutes-long
query response latency spikes.

Better drop the build parallelism of BIND-under-test. About 1-2 minutes
are added to the 60-65 minutes long job duration.

(cherry picked from commit 3fd7e7c81f)
2023-03-09 18:37:41 +01:00
Michal Nowak
f7ec282168 Merge branch 'mnowak/stress-test-build-with-default-CFLAGS-v9_16' into 'v9_16'
[9.16] Build BIND in stress test jobs with common CFLAGS

See merge request isc-projects/bind9!7666
2023-03-09 10:08:24 +00:00
Michal Nowak
75464c98dd Build BIND in stress test jobs with common CFLAGS
By omission, BIND was not built with common CFLAGS in the stress test
jobs. Building with common CFLAGS and -Og should help GDB produce a
backtrace with more information.

(cherry picked from commit d33bdd36b4)
2023-03-09 11:03:38 +01:00
Tom Krizek
ef1cc42f0b Merge branch 'tkrizek/set-up-version-and-release-notes-for-bind-9.16.40' into 'v9_16'
Set up version and release notes for BIND 9.16.40

See merge request isc-projects/bind9!7652
2023-03-07 16:37:00 +00:00
Tom Krizek
8d988a6469 Set up release notes for BIND 9.19.40 2023-03-07 15:04:06 +01:00
Tom Krizek
9287b94f63 Update BIND version to 9.16.40-dev 2023-03-07 15:02:42 +01:00
Tom Krizek
83e26c215f Ensure correct release date is put to man pages
In the generated man pages, `@RELEASEDATE@` wasn't replaced since the
actual variable name is `RELEASE_DATE` with an underscore. This issue
was introduced in the recently merged !7518 (commit
18b7ba3ea3) which removed the pregenerated
man pages from the repo.
v9.16.39
2023-03-06 14:03:49 +01:00
Tom Krizek
23aa8c2fc5 Merge branch 'prep-release' into v9_16_39-release 2023-03-03 15:30:25 +01:00
Tom Krizek
1bcdf21874 prep 9.16.39 2023-03-03 15:27:54 +01:00