]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
Revert "datamodel: renamed defer section to prioritization"
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 6 May 2025 11:44:51 +0000 (13:44 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 31 Oct 2025 14:11:38 +0000 (15:11 +0100)
This reverts commit 1e3b02d056dc3785be3e398f2d23a41780c58677.

NEWS
doc/_static/config.schema.json
python/knot_resolver/datamodel/config_schema.py
python/knot_resolver/datamodel/defer_schema.py [new file with mode: 0644]
python/knot_resolver/datamodel/prioritization_schema.py [deleted file]
python/knot_resolver/datamodel/templates/defer.lua.j2 [new file with mode: 0644]
python/knot_resolver/datamodel/templates/kresd.lua.j2
python/knot_resolver/datamodel/templates/policy-loader.lua.j2
python/knot_resolver/datamodel/templates/prioritization.lua.j2 [deleted file]
python/knot_resolver/manager/manager.py

diff --git a/NEWS b/NEWS
index 71ca61a808ec9c7a55f241dfa70e31be41ff9471..75bac01bf0c7b8cae5eee13c5ecfa74d982ddc2a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -18,8 +18,6 @@ Incompatible changes
   - /network/tls/auto-discovery
   - /webmgmt
 - Renamed/moved options in the declarative configuration model (YAML).
-  - /defer/* -> /prioritization/*
-  - /defer/log-period -> /prioritization/logging-period
   - /dns64: true|false -> /dns64/enabled: true|false
   - /dns64/rev-ttl -> /dns64/reverse-ttl
   - /dnssec: true|false -> /dnssec/enabled: true|false
index 55561d1db8baf79aa05d578b1cabd212e44625e0..4353e16876f307a134564f66f666ee01799db4c0 100644 (file)
                 "dry_run": false
             }
         },
-        "prioritization": {
+        "defer": {
             "description": "Configuration of request prioritization (defer).",
             "type": "object",
             "properties": {
                 "enabled": {
                     "type": "boolean",
-                    "description": "Enable/disable request prioritization.",
+                    "description": "Use request prioritization.",
                     "default": false
                 },
-                "logging-period": {
+                "log-period": {
                     "type": "string",
                     "pattern": "^(\\d+)(us|ms|s|m|h|d)$",
                     "description": "Minimal time between two log messages, or '0s' to disable.",
             },
             "default": {
                 "enabled": false,
-                "logging_period": "0s"
+                "log_period": "0s"
             }
         },
         "lua": {
index 3ff945a9faf937b9bff3de3e9fb5b5360ff07b2e..b04173a13e16bedefa8295f8ba70e0cd9d411c1d 100644 (file)
@@ -5,6 +5,7 @@ from typing import Any, Dict, List, Literal, Optional, Tuple, Union
 
 from knot_resolver.constants import API_SOCK_FILE, RUN_DIR, VERSION
 from knot_resolver.datamodel.cache_schema import CacheSchema
+from knot_resolver.datamodel.defer_schema import DeferSchema
 from knot_resolver.datamodel.dns64_schema import Dns64Schema
 from knot_resolver.datamodel.dnssec_schema import DnssecSchema
 from knot_resolver.datamodel.forward_schema import FallbackSchema, ForwardSchema
@@ -16,7 +17,6 @@ from knot_resolver.datamodel.management_schema import ManagementSchema
 from knot_resolver.datamodel.monitoring_schema import MonitoringSchema
 from knot_resolver.datamodel.network_schema import NetworkSchema
 from knot_resolver.datamodel.options_schema import OptionsSchema
-from knot_resolver.datamodel.prioritization_schema import PrioritizationSchema
 from knot_resolver.datamodel.rate_limiting_schema import RateLimitingSchema
 from knot_resolver.datamodel.templates import KRESD_CONFIG_TEMPLATE, POLICY_LOADER_CONFIG_TEMPLATE
 from knot_resolver.datamodel.types import EscapedStr, IntPositive, WritableDir
@@ -107,7 +107,7 @@ class KresConfig(ConfigSchema):
         monitoring: Metrics exposisition configuration (Prometheus, Graphite)
         lua: Custom Lua configuration.
         rate_limiting: Configuration of rate limiting.
-        prioritization: Configuration of request prioritization (defer).
+        defer: Configuration of request prioritization (defer).
         """
 
         version: int = 1
@@ -128,7 +128,7 @@ class KresConfig(ConfigSchema):
         logging: LoggingSchema = LoggingSchema()
         monitoring: MonitoringSchema = MonitoringSchema()
         rate_limiting: RateLimitingSchema = RateLimitingSchema()
-        prioritization: PrioritizationSchema = PrioritizationSchema()
+        defer: DeferSchema = DeferSchema()
         lua: LuaSchema = LuaSchema()
 
     _LAYER = Raw
@@ -150,7 +150,7 @@ class KresConfig(ConfigSchema):
     logging: LoggingSchema
     monitoring: MonitoringSchema
     rate_limiting: RateLimitingSchema
-    prioritization: PrioritizationSchema
+    defer: DeferSchema
     lua: LuaSchema
 
     def _hostname(self, obj: Raw) -> Any:
diff --git a/python/knot_resolver/datamodel/defer_schema.py b/python/knot_resolver/datamodel/defer_schema.py
new file mode 100644 (file)
index 0000000..81546a0
--- /dev/null
@@ -0,0 +1,15 @@
+from knot_resolver.datamodel.types import TimeUnit
+from knot_resolver.utils.modeling import ConfigSchema
+
+
+class DeferSchema(ConfigSchema):
+    """
+    Configuration of request prioritization (defer).
+
+    ---
+    enabled: Use request prioritization.
+    log_period: Minimal time between two log messages, or '0s' to disable.
+    """
+
+    enabled: bool = False
+    log_period: TimeUnit = TimeUnit("0s")
diff --git a/python/knot_resolver/datamodel/prioritization_schema.py b/python/knot_resolver/datamodel/prioritization_schema.py
deleted file mode 100644 (file)
index 74025b8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-from knot_resolver.datamodel.types import TimeUnit
-from knot_resolver.utils.modeling import ConfigSchema
-
-
-class PrioritizationSchema(ConfigSchema):
-    """
-    Configuration of request prioritization (defer).
-
-    ---
-    enabled: Enable/disable request prioritization.
-    logging_period: Minimal time between two log messages, or '0s' to disable.
-    """
-
-    enabled: bool = False
-    logging_period: TimeUnit = TimeUnit("0s")
diff --git a/python/knot_resolver/datamodel/templates/defer.lua.j2 b/python/knot_resolver/datamodel/templates/defer.lua.j2
new file mode 100644 (file)
index 0000000..5dacff7
--- /dev/null
@@ -0,0 +1,10 @@
+{% from 'macros/common_macros.lua.j2' import boolean %}
+
+{% if cfg.defer.enabled and disable_defer is not defined -%}
+assert(C.defer_init(
+       '{{ cfg.rundir }}/defer',
+       {{ cfg.defer.log_period.millis() }},
+       {{ cfg.workers }}) == 0)
+{% else %}
+assert(C.defer_init(nil, 0, 0) == 0)
+{%- endif %}
index a312480235af77d67614b09b9c52113ebb1c08f6..14b862913e756bc9506d614cf7ebabdc32faff52 100644 (file)
@@ -43,8 +43,8 @@ nsid.name('{{ cfg.nsid }}' .. worker.id)
 -- RATE-LIMITING section ------------------------------------
 {% include "rate_limiting.lua.j2" %}
 
--- PRIORITIZATION section ------------------------------------
-{% include "prioritization.lua.j2" %}
+-- DEFER section ------------------------------------
+{% include "defer.lua.j2" %}
 
 {% endif %}
 
index 5f8349e6978f600e4c8c04621ef320dcce9f417a..0b99970339afd3dd7d810f31562dfd2c4ac1d748 100644 (file)
@@ -35,10 +35,10 @@ cache.open({{ cfg.cache.size_max.bytes() }}, 'lmdb://{{ cfg.cache.storage }}')
 -- FORWARD section ----------------------------------
 {% include "forward.lua.j2" %}
 
--- PRIORITIZATION section ------------------------------------
+-- DEFER section ------------------------------------
 -- Force-disable defer to avoid the default defer config.
-{% set disable_prioritization = true %}
-{% include "prioritization.lua.j2" %}
+{% set disable_defer = true %}
+{% include "defer.lua.j2" %}
 
 {% endif %}
 
diff --git a/python/knot_resolver/datamodel/templates/prioritization.lua.j2 b/python/knot_resolver/datamodel/templates/prioritization.lua.j2
deleted file mode 100644 (file)
index 7c241e1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{% if cfg.prioritization.enabled and disable_prioritization is not defined %}
--- Enable and configure request prioritization (defer)
-assert(
-    C.defer_init(
-        '{{ cfg.rundir }}/defer',
-        {{ cfg.prioritization.logging_period.millis() }},
-        {{ cfg.workers }}
-    ) == 0
-)
-{% else %}
--- Disable request prioritization (defer)
-assert(C.defer_init(nil, 0, 0) == 0)
-{% endif %}
index 065742dac1d5704604079952519c9ccd43a0ae35..4b5d04210b92ce2da74bca8993dea49962b5a9fe 100644 (file)
@@ -128,9 +128,9 @@ class KresManager:  # pylint: disable=too-many-instance-attributes
                 config.dns64,
                 config.logging,
                 config.monitoring,
-                config.rate_limiting,
-                config.prioritization,
                 config.lua,
+                config.rate_limiting,
+                config.defer,
             ]
 
         # register and immediately call a verifier that validates config with 'canary' kresd process
@@ -225,7 +225,7 @@ class KresManager:  # pylint: disable=too-many-instance-attributes
                     os.unlink(str(_old.rundir) + "/ratelimiting")
                 except FileNotFoundError:
                     pass
-            if _old.workers != new.workers or _old.prioritization != new.prioritization:
+            if _old.workers != new.workers or _old.defer != new.defer:
                 logger.debug("Unlinking shared defer memory")
                 try:
                     os.unlink(str(_old.rundir) + "/defer")