]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
3 years agomanager: attempt at reimplementing custom process manager similar to systemd manager-custom-process-runner
Vasek Sraier [Fri, 20 May 2022 09:30:43 +0000 (11:30 +0200)] 
manager: attempt at reimplementing custom process manager similar to systemd

most of the prototype is done, the only missing parts are communication with current Python manager

3 years agofixup! fixup! fixup! fixup! WIP: packaing tests using apkg's new test feature
Vasek Sraier [Tue, 17 May 2022 10:30:21 +0000 (12:30 +0200)] 
fixup! fixup! fixup! fixup! WIP: packaing tests using apkg's new test feature

3 years agofixup! fixup! fixup! WIP: packaing tests using apkg's new test feature
Vasek Sraier [Tue, 17 May 2022 10:19:36 +0000 (12:19 +0200)] 
fixup! fixup! fixup! WIP: packaing tests using apkg's new test feature

3 years agofixup! fixup! WIP: packaing tests using apkg's new test feature
Vasek Sraier [Tue, 17 May 2022 09:58:40 +0000 (11:58 +0200)] 
fixup! fixup! WIP: packaing tests using apkg's new test feature

3 years agofixup! WIP: packaing tests using apkg's new test feature
Vasek Sraier [Tue, 17 May 2022 09:51:02 +0000 (11:51 +0200)] 
fixup! WIP: packaing tests using apkg's new test feature

3 years agoWIP: packaing tests using apkg's new test feature
Vasek Sraier [Tue, 17 May 2022 09:34:46 +0000 (11:34 +0200)] 
WIP: packaing tests using apkg's new test feature

3 years agomanager's service file: prefixed all commands with /usr/bin/env to ensure absolute...
Vasek Sraier [Thu, 21 Apr 2022 21:44:07 +0000 (23:44 +0200)] 
manager's service file: prefixed all commands with /usr/bin/env to ensure absolute path

3 years agopackaging: listed kresctl in rpm .spec file
Vasek Sraier [Thu, 21 Apr 2022 21:09:05 +0000 (23:09 +0200)] 
packaging: listed kresctl in rpm .spec file

3 years agoRevert "WIP: ci: extra check for manager dependencies"
Vasek Sraier [Thu, 21 Apr 2022 20:57:31 +0000 (22:57 +0200)] 
Revert "WIP: ci: extra check for manager dependencies"

This reverts commit f2ac8c5c61fe51406743054bd2a8e86bb20c5e4b.

3 years agoRevert "ci/pytests: exclude selected branches"
Vasek Sraier [Thu, 21 Apr 2022 20:57:23 +0000 (22:57 +0200)] 
Revert "ci/pytests: exclude selected branches"

This reverts commit c2db2519f4ef1dac6057be0a24446402ccd173a0.

3 years agoci: added basic manager tests to pkgtests
Vasek Sraier [Thu, 21 Apr 2022 20:53:23 +0000 (22:53 +0200)] 
ci: added basic manager tests to pkgtests

3 years agomanager: improved logging of subprocess controller selection
Vasek Sraier [Sun, 17 Apr 2022 15:11:39 +0000 (17:11 +0200)] 
manager: improved logging of subprocess controller selection

3 years agomanager: systemd integration: fixed race condition while waiting for systemd job...
Vasek Sraier [Sun, 17 Apr 2022 14:04:43 +0000 (16:04 +0200)] 
manager: systemd integration: fixed race condition while waiting for systemd job results

We were starting a result monitoring thread, but we did not wait for it to properly start. Therefore,
the systemd job could finish before we actually started checking

3 years agomanager: systemd integration: changing slice name depending on systemd type
Vasek Sraier [Sun, 17 Apr 2022 13:27:35 +0000 (15:27 +0200)] 
manager: systemd integration: changing slice name depending on systemd type

3 years agofixup! manager's packaging fixes & better systemd integration
Vasek Sraier [Sun, 17 Apr 2022 13:27:27 +0000 (15:27 +0200)] 
fixup! manager's packaging fixes & better systemd integration

3 years agomanager's packaging fixes & better systemd integration
Vasek Sraier [Mon, 11 Apr 2022 18:00:39 +0000 (20:00 +0200)] 
manager's packaging fixes & better systemd integration

- implemented sd_notify and changed manager service type to "notify"
- fixed release configuration
- renamed knot-resolver-manager.service to knot-resolver.service

3 years agomanager: add simple packaging tests
Vasek Sraier [Sun, 10 Apr 2022 19:41:17 +0000 (21:41 +0200)] 
manager: add simple packaging tests

3 years agomanager: added placeholder for manager's future CLI interface
Vasek Sraier [Sun, 10 Apr 2022 18:40:14 +0000 (20:40 +0200)] 
manager: added placeholder for manager's future CLI interface

3 years agofixup! manager: fix packaging script
Vasek Sraier [Fri, 8 Apr 2022 13:37:36 +0000 (15:37 +0200)] 
fixup! manager: fix packaging script

3 years agomanager: fix packaging script
Vasek Sraier [Fri, 8 Apr 2022 13:11:02 +0000 (15:11 +0200)] 
manager: fix packaging script

3 years agoWIP: ci: extra check for manager dependencies
Tomas Krizek [Thu, 20 Jan 2022 15:36:43 +0000 (16:36 +0100)] 
WIP: ci: extra check for manager dependencies

3 years agoci/pytests: exclude selected branches
Tomas Krizek [Thu, 20 Jan 2022 13:46:21 +0000 (14:46 +0100)] 
ci/pytests: exclude selected branches

3 years agodistro: add knot-resolver-manager rpm packaging
Jakub Ružička [Wed, 10 Nov 2021 11:32:20 +0000 (12:32 +0100)] 
distro: add knot-resolver-manager rpm packaging

3 years agodistro: add knot-resolver-manager deb packaging
Jakub Ružička [Mon, 25 Oct 2021 12:16:37 +0000 (14:16 +0200)] 
distro: add knot-resolver-manager deb packaging

3 years agoMerge branch 'manager-systemd-slices' into 'manager'
Vaclav Sraier [Thu, 31 Mar 2022 13:22:26 +0000 (15:22 +0200)] 
Merge branch 'manager-systemd-slices' into 'manager'

manager: systemd backend using slices

See merge request knot/knot-resolver!1278

3 years agoMerge branch 'manager-small-improvements' into 'manager'
Vaclav Sraier [Tue, 15 Mar 2022 10:40:44 +0000 (11:40 +0100)] 
Merge branch 'manager-small-improvements' into 'manager'

small improvements of manager

See merge request knot/knot-resolver!1274

3 years agounit tests: made them recognizable as python package and moved test config creation...
Vasek Sraier [Thu, 31 Mar 2022 12:42:51 +0000 (14:42 +0200)] 
unit tests: made them recognizable as python package and moved test config creation method there

3 years agoMerge branch 'manager-error-messages' into 'manager'
Aleš Mrázek [Mon, 14 Mar 2022 17:02:34 +0000 (18:02 +0100)] 
Merge branch 'manager-error-messages' into 'manager'

improve manager's error handling

See merge request knot/knot-resolver!1263

3 years agomanager: systemd: lower unit start timeout to 10 seconds from 30
Vasek Sraier [Mon, 14 Mar 2022 20:14:02 +0000 (21:14 +0100)] 
manager: systemd: lower unit start timeout to 10 seconds from 30

This is done after a short discussion on Slack where we've learnt that kresd should be up and running
within fraction of a second.

3 years agosubprocess manament: remove configuration files of kresd's even when not stopped...
Vasek Sraier [Thu, 31 Mar 2022 12:31:46 +0000 (14:31 +0200)] 
subprocess manament: remove configuration files of kresd's even when not stopped directly

3 years agoMerge branch 'manager-watchdog-fix' into 'manager'
Aleš Mrázek [Mon, 28 Feb 2022 10:30:13 +0000 (11:30 +0100)] 
Merge branch 'manager-watchdog-fix' into 'manager'

manager: backend bug fixes

See merge request knot/knot-resolver!1262

3 years agomanager: working directory locking and improved shutdown triggering
Vasek Sraier [Sun, 13 Mar 2022 14:04:25 +0000 (15:04 +0100)] 
manager: working directory locking and improved shutdown triggering

3 years agomanager: handle Unix signals during shutdown
Vasek Sraier [Mon, 14 Mar 2022 20:07:51 +0000 (21:07 +0100)] 
manager: handle Unix signals during shutdown

closes #725

3 years agomoved `id` in config to the server section, additional refactoring
Vasek Sraier [Sun, 27 Mar 2022 17:14:24 +0000 (19:14 +0200)] 
moved `id` in config to the server section, additional refactoring

3 years agoMerge branch 'manager-datamodel-types' into 'manager'
Aleš Mrázek [Mon, 21 Feb 2022 10:06:41 +0000 (11:06 +0100)] 
Merge branch 'manager-datamodel-types' into 'manager'

manager: datamodel: type annotations changes and new custom types

See merge request knot/knot-resolver!1260

3 years agomanager: id allocation system: rewritten once more with id subclassing
Vasek Sraier [Sun, 27 Feb 2022 12:23:08 +0000 (13:23 +0100)] 
manager: id allocation system: rewritten once more with id subclassing

3 years agomanager: error handling retry logic based on ERROR_HANDLING.md
Vasek Sraier [Fri, 11 Mar 2022 15:28:21 +0000 (16:28 +0100)] 
manager: error handling retry logic based on ERROR_HANDLING.md

3 years agomanager: fix integration tests config file
Vasek Sraier [Thu, 24 Mar 2022 16:50:15 +0000 (17:50 +0100)] 
manager: fix integration tests config file

3 years agoMerge branch 'manager-monitoring' into 'manager'
Aleš Mrázek [Tue, 15 Feb 2022 17:07:27 +0000 (18:07 +0100)] 
Merge branch 'manager-monitoring' into 'manager'

Unified monitoring though manager

See merge request knot/knot-resolver!1255

3 years agodatamodel: monitoring: types specification
Aleš [Tue, 15 Feb 2022 23:29:39 +0000 (00:29 +0100)] 
datamodel: monitoring: types specification

3 years agomanager: server: deny server.groupid runtime changes
Aleš [Thu, 24 Feb 2022 14:48:16 +0000 (15:48 +0100)] 
manager: server: deny server.groupid runtime changes
- conf files names based on groupid

3 years agomanager: limit number of allowed workers
Vasek Sraier [Fri, 11 Mar 2022 11:49:14 +0000 (12:49 +0100)] 
manager: limit number of allowed workers

3 years agobug fixes within manager's slice usage (in systemd)
Vasek Sraier [Wed, 23 Mar 2022 22:47:19 +0000 (23:47 +0100)] 
bug fixes within manager's slice usage (in systemd)

The previous implementation was actually flawed, because:
- we were not detecting failed units on startup
- we were using same service names and counting on different slices being different namespaces. This is NOT valid assumption.

3 years agoMerge branch 'manager-datamodel-docstrings' into 'manager'
Aleš Mrázek [Tue, 15 Feb 2022 14:10:56 +0000 (15:10 +0100)] 
Merge branch 'manager-datamodel-docstrings' into 'manager'

manager: datamodel annotated with docstrings

See merge request knot/knot-resolver!1258

3 years agomanager: verified and fix bug with graphite metrics exporter
Vasek Sraier [Wed, 9 Feb 2022 14:37:55 +0000 (15:37 +0100)] 
manager: verified and fix bug with graphite metrics exporter

3 years agodatamodel: integer type annotations replaced with custom types
Aleš [Mon, 14 Feb 2022 15:06:37 +0000 (16:06 +0100)] 
datamodel:  integer type annotations replaced with custom types

3 years agomanager: systemd backend: 'server.groupid' config is used as prefix for services...
Aleš [Wed, 23 Feb 2022 13:24:23 +0000 (14:24 +0100)] 
manager: systemd backend: 'server.groupid' config is used as prefix for services names

3 years agomanager: improved formatting of errors
Vasek Sraier [Fri, 11 Mar 2022 11:28:24 +0000 (12:28 +0100)] 
manager: improved formatting of errors

3 years agomanager systemd backend now uses slices
Vasek Sraier [Tue, 22 Mar 2022 11:51:24 +0000 (12:51 +0100)] 
manager systemd backend now uses slices

- added id field to config, which determines the slice name (must be unique across the whole system)
- we no longer stop all processes individually, instead we leave it up to the subprocess controller to stop all (and it just stops the slice)

3 years agoMerge !1250: manager: datamodel: lower verbosity for network/listen config
Vladimír Čunát [Tue, 15 Feb 2022 09:01:38 +0000 (10:01 +0100)] 
Merge !1250: manager: datamodel: lower verbosity for network/listen config

3 years agodatamodel: docstrings annotatinons dnssec
Aleš [Tue, 8 Feb 2022 15:38:34 +0000 (16:38 +0100)] 
datamodel: docstrings annotatinons dnssec
- related to #706

3 years agomanager: monitoring: made sure data are collected at the time of the /metrics request
Vasek Sraier [Wed, 9 Feb 2022 10:28:23 +0000 (11:28 +0100)] 
manager: monitoring: made sure data are collected at the time of the /metrics request

3 years agodatamodel: types: several integer custom types
Aleš [Mon, 14 Feb 2022 13:16:40 +0000 (14:16 +0100)] 
datamodel: types: several integer custom types

3 years agomanager: systemd backend: watchdog for cache gc
Aleš [Tue, 22 Feb 2022 16:04:51 +0000 (17:04 +0100)] 
manager: systemd backend: watchdog for cache gc
- KresIDs are also equal when custom str representations are equal
- systemd services naming

3 years agomanager: documentation of error handling design
Vasek Sraier [Fri, 11 Mar 2022 10:32:35 +0000 (11:32 +0100)] 
manager: documentation of error handling design

3 years agodatamodel: templates: render http configuration for doh_legacy only once
Aleš [Wed, 2 Feb 2022 17:45:46 +0000 (18:45 +0100)] 
datamodel: templates: render http configuration for doh_legacy only once

3 years agomanager/utils/modelling: multiline strings in docstring for attributes description...
Aleš [Mon, 7 Feb 2022 15:52:42 +0000 (16:52 +0100)] 
manager/utils/modelling:  multiline strings in docstring for attributes description in yaml format

3 years agomanager: monitoring: graphite bridge
Vasek Sraier [Tue, 8 Feb 2022 14:10:31 +0000 (15:10 +0100)] 
manager: monitoring: graphite bridge

3 years agodatamodel: types: improved IntRangeBase
Aleš [Thu, 10 Feb 2022 14:01:06 +0000 (15:01 +0100)] 
datamodel: types: improved IntRangeBase
- the value can also be limited from one side (_min or _max)

3 years agomanager: supervisord backend: fixed failures to start and stop properly, now working
Vasek Sraier [Sun, 20 Feb 2022 21:17:00 +0000 (22:17 +0100)] 
manager: supervisord backend: fixed failures to start and stop properly, now working

3 years agomanager: systemd: added timeout for systemd jobs
Vasek Sraier [Fri, 4 Mar 2022 15:25:07 +0000 (16:25 +0100)] 
manager: systemd: added timeout for systemd jobs

3 years agodatamodel: network: added 'doh-legacy' to listen kinds
Aleš [Mon, 31 Jan 2022 19:48:39 +0000 (20:48 +0100)] 
datamodel: network: added 'doh-legacy' to listen kinds

3 years agodatamodel: docstrings annotatinons (dns64, logging, lua)
Aleš [Mon, 7 Feb 2022 15:34:07 +0000 (16:34 +0100)] 
datamodel: docstrings annotatinons (dns64, logging, lua)
- related to #706

3 years agomanager: monitoring: remove usage of protected library methods, finished proper laten...
Vasek Sraier [Tue, 8 Feb 2022 10:58:14 +0000 (11:58 +0100)] 
manager: monitoring: remove usage of protected library methods, finished proper latency metric support

3 years agomanager: fixed watchdog cancellation, reworked id system to remove unreasonable compl...
Vasek Sraier [Sat, 19 Feb 2022 12:26:53 +0000 (13:26 +0100)] 
manager: fixed watchdog cancellation, reworked id system to remove unreasonable complexity

3 years agoWIP multiple error messages at once
Vasek Sraier [Sun, 20 Feb 2022 23:24:56 +0000 (00:24 +0100)] 
WIP multiple error messages at once

3 years agodatamodel: ip-address option merged to interface option
Aleš [Mon, 31 Jan 2022 16:24:45 +0000 (17:24 +0100)] 
datamodel: ip-address option merged to interface option
- types: IP addres can be used in InterfacePort and InterfaceOptionalPort
- ip-address options removed

3 years agodatamodel: docstrings annotatinons (stub-zone, forward-zone, rpz, cache)
Aleš [Fri, 4 Feb 2022 12:47:41 +0000 (13:47 +0100)] 
datamodel: docstrings annotatinons (stub-zone, forward-zone, rpz, cache)
- related to #706

3 years agomodules/stats: add answer.sum_ms metric
Vladimír Čunát [Mon, 7 Feb 2022 12:21:48 +0000 (13:21 +0100)] 
modules/stats: add answer.sum_ms metric

FIXME: add a NEWS entry for this

3 years agomanager: improved configuration error reporting
Vasek Sraier [Sun, 20 Feb 2022 22:34:56 +0000 (23:34 +0100)] 
manager: improved configuration error reporting

3 years agodatamodel: docstrings annotatinons (network, static-hint, view, policy)
Aleš [Thu, 3 Feb 2022 14:48:26 +0000 (15:48 +0100)] 
datamodel: docstrings annotatinons (network, static-hint, view, policy)
- changed name of some schema fields
- related to #706

3 years agomanager: monitoring: implementation cleanup
Vasek Sraier [Mon, 7 Feb 2022 11:41:31 +0000 (12:41 +0100)] 
manager: monitoring: implementation cleanup

3 years agoutils: modelling: json_schema: replace underscore with dash in field name
Aleš [Wed, 2 Feb 2022 23:08:47 +0000 (00:08 +0100)] 
utils: modelling: json_schema: replace underscore with dash in field name

3 years agomanager: remove unnecessary sleep
Vasek Sraier [Mon, 7 Feb 2022 10:11:45 +0000 (11:11 +0100)] 
manager: remove unnecessary sleep

3 years agodatamodel: docstrings annotatinons for server and options schemas
Aleš [Wed, 2 Feb 2022 22:57:08 +0000 (23:57 +0100)] 
datamodel: docstrings annotatinons for server and options schemas
- related to #706

3 years agomanager: measuring reconfiguration request latency
Vasek Sraier [Mon, 7 Feb 2022 10:11:24 +0000 (11:11 +0100)] 
manager: measuring reconfiguration request latency

3 years agomanager: exportings prometheus metrics FIXME
Vasek Sraier [Sun, 6 Feb 2022 18:10:17 +0000 (19:10 +0100)] 
manager: exportings prometheus metrics FIXME

3 years agomanager: generated config: opening control socket at correct path with stable id
Vasek Sraier [Sat, 5 Feb 2022 22:31:33 +0000 (23:31 +0100)] 
manager: generated config: opening control socket at correct path with stable id

3 years agoMerge branch 'manager-systemd-improvements' into 'manager'
Vaclav Sraier [Thu, 27 Jan 2022 16:08:10 +0000 (17:08 +0100)] 
Merge branch 'manager-systemd-improvements' into 'manager'

manager: systemd: improved handling of subprocess crashes

See merge request knot/knot-resolver!1252

3 years agodatamodel: types: separate directory for types
Aleš [Fri, 28 Jan 2022 15:05:06 +0000 (16:05 +0100)] 
datamodel: types: separate directory for types
- separate modules for base types and enumerations
- some  types/enums renamed

3 years agoMerge branch 'manager-tooling-fixes' into 'manager'
Vaclav Sraier [Wed, 26 Jan 2022 12:24:25 +0000 (13:24 +0100)] 
Merge branch 'manager-tooling-fixes' into 'manager'

manager: tooling fixes & ci integration

See merge request knot/knot-resolver!1249

3 years agomanager: systemd: better error messages and restart subprocesses always
Vasek Sraier [Fri, 21 Jan 2022 20:35:03 +0000 (21:35 +0100)] 
manager: systemd: better error messages and restart subprocesses always

+ codecheck script now checks whether you have all dependencies properly installed

3 years agodatamodel: validation function for listening configuration
Aleš [Thu, 27 Jan 2022 14:47:10 +0000 (15:47 +0100)] 
datamodel: validation function for listening configuration

3 years agoci: execute manager tests in correct dir
Tomas Krizek [Sun, 16 Jan 2022 16:36:06 +0000 (17:36 +0100)] 
ci: execute manager tests in correct dir

3 years agoci/manager: use junit test report
Tomas Krizek [Fri, 21 Jan 2022 18:08:29 +0000 (19:08 +0100)] 
ci/manager: use junit test report

3 years agoutils: modelling: serialization fix that broke json schema generation
Aleš [Thu, 27 Jan 2022 14:43:01 +0000 (15:43 +0100)] 
utils: modelling: serialization fix that broke json schema generation

3 years agoci: run manager-only tests in manager branch
Tomas Krizek [Sun, 16 Jan 2022 16:32:04 +0000 (17:32 +0100)] 
ci: run manager-only tests in manager branch

3 years agoci: make pytests behavior consistent with remaining jobs
Tomas Krizek [Wed, 19 Jan 2022 16:12:45 +0000 (17:12 +0100)] 
ci: make pytests behavior consistent with remaining jobs

3 years agomanager: codecheck fixes
Aleš [Thu, 27 Jan 2022 11:04:15 +0000 (12:04 +0100)] 
manager: codecheck fixes

3 years agotyping: introduction of mypy
Vasek Sraier [Fri, 14 Jan 2022 10:01:34 +0000 (11:01 +0100)] 
typing: introduction of mypy

3 years agomanager: remove ununsed containers
Tomas Krizek [Wed, 19 Jan 2022 16:04:09 +0000 (17:04 +0100)] 
manager: remove ununsed containers

3 years agodatamodel: types: formatting exceptions
Aleš [Tue, 25 Jan 2022 15:13:51 +0000 (16:13 +0100)] 
datamodel: types: formatting exceptions

3 years agoclient: fix configuration of static hints, schema changed
Vasek Sraier [Wed, 12 Jan 2022 12:47:02 +0000 (13:47 +0100)] 
client: fix configuration of static hints, schema changed

3 years agomanager: remove pyright in favor of mypy
Tomas Krizek [Wed, 19 Jan 2022 16:08:42 +0000 (17:08 +0100)] 
manager: remove pyright in favor of mypy

3 years agodatamodel: types: types based on @port refactored
Aleš [Mon, 24 Jan 2022 16:09:20 +0000 (17:09 +0100)] 
datamodel: types: types based on @port refactored
- added type for interface name

3 years agoprocess management: GC was not stopped during graceful shutdown
Vasek Sraier [Tue, 11 Jan 2022 13:02:40 +0000 (14:02 +0100)] 
process management: GC was not stopped during graceful shutdown

fixes #45

3 years agoci: execute manager unit tests
Tomas Krizek [Wed, 19 Jan 2022 16:06:46 +0000 (17:06 +0100)] 
ci: execute manager unit tests

3 years agodatamodel: schema modifications to match new network/listen model
Aleš [Fri, 21 Jan 2022 16:48:40 +0000 (17:48 +0100)] 
datamodel: schema modifications to match new network/listen model
- datamodel: server: management and webmgmt schema changed
- datamodel: types: base custom types
- datamodel: types: mandatory port number in IPAddressPort and InterfacePort

3 years agoMerge branch 'broken-watchdog-repair' into 'master'
Aleš Mrázek [Tue, 11 Jan 2022 12:40:26 +0000 (13:40 +0100)] 
Merge branch 'broken-watchdog-repair' into 'master'

watchdog: kresd systemd unit properties based on config

Closes #44

See merge request knot/knot-resolver-manager!18

3 years agomanager: ci container: update URL for installing poetry due to upstream change
Vasek Sraier [Mon, 17 Jan 2022 11:58:15 +0000 (12:58 +0100)] 
manager: ci container: update URL for installing poetry due to upstream change