Andrei Pavel [Thu, 22 Aug 2024 15:16:45 +0000 (18:16 +0300)]
[#1945] fix building docs from tarball
- Move tools/* EXTRA_DISTs inside tools/Makefile.am because that's where
they belong.
- Add check-messages.py to EXTRA_DIST in tools/Makefile.am to allow
someone who downloads the tarball to regenerate the entire message
documentation just like before.
- Add debug-messages.rst and kea-messages.rst to the tarball so that
they are not forced to use check-messages.py to regenerate message
documentation.
- Add singlehtml to all rule. It is the only type of docs that are not
built by default.
Andrei Pavel [Thu, 22 Aug 2024 09:49:03 +0000 (12:49 +0300)]
[#1945] address review
- generate kea-messages.rst automatically on make -C doc/sphinx
- add disclaimer header that debug-messages.rst and kea-messages.rst are
generated
- minor changes to debug level variable names
- do not write section "Messages printed" in tools/check-messages.py if
there are no messages
Andrei Pavel [Mon, 19 Aug 2024 13:27:08 +0000 (16:27 +0300)]
[#1945] add missing messages and premium messages to the ARM
Apart from premium, messages from these files were missing:
- perfmon_messages.mes
- pgsql_cb_messages.mes
- run_script_messages.mes
- fuzz_messages.mes
Andrei Pavel [Mon, 19 Aug 2024 11:33:18 +0000 (14:33 +0300)]
[#1945] log EVAL_RESULT messages only at debug level
- Split the 15 occurrences of EVAL_RESULT into one message for each log call in code.
- Log all these messages only on debug level 50.
- Remove bad practice `catch (...)` and the message logged on that if-branch.
Andrei Pavel [Mon, 19 Aug 2024 15:09:25 +0000 (18:09 +0300)]
[#1945] take premium exhonerated duplicate messages into account
This makes it easier to run `./tools/check-messages.py` to correctly
assess the state of messages while developing Kea without having to
remove the premium directory.
Andrei Pavel [Tue, 13 Aug 2024 10:36:16 +0000 (13:36 +0300)]
[#2882] fix pgsql_unused_subnet_id_test
Adding `--set ON_ERROR_STOP=1` to `pgsql_upgrade` made `pgsql_unused_subnet_id` fail while attempting to upgrade a 4.0 schema with some data to the latest schema.
```
Processing src/share/database/scripts/pgsql/upgrade_003.3_to_004.0.sh file...
Schema upgraded to 4.0
NOTICE: index "key_dhcp4_ipv4_address_subnet_id" does not exist, skipping
ERROR: insert or update on table "dhcp6_options" violates foreign key constraint "fk_dhcp6_options_subnet"
DETAIL: Key (dhcp6_subnet_id)=(6) is not present in table "dhcp6_subnet".
```
The test is not trying to cover a negative scenario as far as I can tell.
It seems that in the end, the schema ended up being upgraded to the target version of the last script that worked without errors, in this case 7.0. It tried to advance to other upgrade scripts, but skipped them because of versions mismatch.
```
Processing src/share/database/scripts/pgsql/upgrade_007_to_008.sh file...
Processing src/share/database/scripts/pgsql/upgrade_008_to_009.sh file...
This script upgrades 8.0 to 9.0. Reported version is 7.0. Skipping upgrade.
[...]
Processing src/share/database/scripts/pgsql/upgrade_023_to_024.sh file...
This script upgrades 23.0 to 24.0. Reported version is 7.0. Skipping upgrade.
Schema version reported after upgrade: 7.0
```
Previously, the error was not reported by the testing framework because it was also ignored by kea-admin.
Now, it is consistent with the MySQL behavior in kea-admin and it no longer ignores upgrade errors.
You can see the same upgrade done to a prior version done in the equivalent test `mysql_unused_subnet_id_test`.
Andrei Pavel [Thu, 27 Jun 2024 12:43:30 +0000 (15:43 +0300)]
[#3470] make hammer.py work better with freebsd 14+
- Remove unnecessary `SET PASSWORD` for mysql
- Remove redundant `sysrc postgresql_enable=yes`. It is done later when
enabling the service.
- Determine `/var/db/postgres/data*` using glob.
- Add `interactive=true` to onestart command.