From: Aleš Mrázek Date: Wed, 17 Sep 2025 09:27:14 +0000 (+0200) Subject: datamodel: better naming for kresd and policy-loader related parts X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b010b3f1c22b275c28a3e57270d84f4aad69b1c1;p=thirdparty%2Fknot-resolver.git datamodel: better naming for kresd and policy-loader related parts --- diff --git a/NEWS b/NEWS index 429a5413b..0b1613a3d 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,7 @@ Bugfixes - prometheus metrics: make the latency histogram cumulative (!1731, GH#117) - fix file permission checks when running as root (!1741) - /network/address-renumbering: fix conversion to Lua configuration (!1739) +- manager: avoid uncommon bugs when starting/quitting policy-loader (!1742) Knot Resolver 6.0.15 (2025-07-17) diff --git a/python/knot_resolver/client/commands/convert.py b/python/knot_resolver/client/commands/convert.py index 359330ef9..1fa9b58a7 100644 --- a/python/knot_resolver/client/commands/convert.py +++ b/python/knot_resolver/client/commands/convert.py @@ -69,9 +69,9 @@ class ConvertCommand(Command): set_global_validation_context(Context(Path(Path(self.input_file[0]).parent), self.strict)) if self.type == "worker": - lua = KresConfig(data).render_lua() + lua = KresConfig(data).render_kresd_lua() elif self.type == "policy-loader": - lua = KresConfig(data).render_lua_policy() + lua = KresConfig(data).render_policy_loader_lua() else: raise ValueError(f"Invalid self.type={self.type}") reset_global_validation_context() diff --git a/python/knot_resolver/controller/interface.py b/python/knot_resolver/controller/interface.py index 49808d01a..d760c2358 100644 --- a/python/knot_resolver/controller/interface.py +++ b/python/knot_resolver/controller/interface.py @@ -119,9 +119,9 @@ class Subprocess(ABC): def _render_lua(self) -> Optional[str]: if self.type is SubprocessType.KRESD: - return self._config.render_lua() + return self._config.render_kresd_lua() if self.type is SubprocessType.POLICY_LOADER: - return self._config.render_lua_policy() + return self._config.render_policy_loader_lua() return None def _write_config(self) -> None: diff --git a/python/knot_resolver/datamodel/config_schema.py b/python/knot_resolver/datamodel/config_schema.py index 77ab0ee8d..24b83e11d 100644 --- a/python/knot_resolver/datamodel/config_schema.py +++ b/python/knot_resolver/datamodel/config_schema.py @@ -18,7 +18,7 @@ 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.rate_limiting_schema import RateLimitingSchema -from knot_resolver.datamodel.templates import POLICY_CONFIG_TEMPLATE, WORKER_CONFIG_TEMPLATE +from knot_resolver.datamodel.templates import KRESD_CONFIG_TEMPLATE, POLICY_LOADER_CONFIG_TEMPLATE from knot_resolver.datamodel.types import EscapedStr, IntPositive, WritableDir from knot_resolver.datamodel.view_schema import ViewSchema from knot_resolver.datamodel.webmgmt_schema import WebmgmtSchema @@ -240,14 +240,14 @@ class KresConfig(ConfigSchema): if len(errs) > 1: raise AggregateDataValidationError("/", errs) - def render_lua(self) -> str: + def render_kresd_lua(self) -> str: # FIXME the `cwd` argument is used only for configuring control socket path # it should be removed and relative path used instead as soon as issue # https://gitlab.nic.cz/knot/knot-resolver/-/issues/720 is fixed - return WORKER_CONFIG_TEMPLATE.render(cfg=self, cwd=os.getcwd()) + return KRESD_CONFIG_TEMPLATE.render(cfg=self, cwd=os.getcwd()) - def render_lua_policy(self) -> str: - return POLICY_CONFIG_TEMPLATE.render(cfg=self, cwd=os.getcwd()) + def render_policy_loader_lua(self) -> str: + return POLICY_LOADER_CONFIG_TEMPLATE.render(cfg=self, cwd=os.getcwd()) def get_rundir_without_validation(data: Dict[str, Any]) -> WritableDir: diff --git a/python/knot_resolver/datamodel/templates/__init__.py b/python/knot_resolver/datamodel/templates/__init__.py index 928763ee0..5aec5e643 100644 --- a/python/knot_resolver/datamodel/templates/__init__.py +++ b/python/knot_resolver/datamodel/templates/__init__.py @@ -17,15 +17,15 @@ def _get_templates_dir() -> str: _TEMPLATES_DIR = _get_templates_dir() -def _import_kresd_worker_config_template() -> Template: - path = os.path.join(_TEMPLATES_DIR, "worker-config.lua.j2") +def _import_kresd_config_template() -> Template: + path = os.path.join(_TEMPLATES_DIR, "kresd.lua.j2") with open(path, "r", encoding="UTF-8") as file: template = file.read() return template_from_str(template) -def _import_kresd_policy_config_template() -> Template: - path = os.path.join(_TEMPLATES_DIR, "policy-config.lua.j2") +def _import_policy_loader_config_template() -> Template: + path = os.path.join(_TEMPLATES_DIR, "policy-loader.lua.j2") with open(path, "r", encoding="UTF-8") as file: template = file.read() return template_from_str(template) @@ -37,7 +37,7 @@ def template_from_str(template: str) -> Template: return env.from_string(template) -WORKER_CONFIG_TEMPLATE = _import_kresd_worker_config_template() +KRESD_CONFIG_TEMPLATE = _import_kresd_config_template() -POLICY_CONFIG_TEMPLATE = _import_kresd_policy_config_template() +POLICY_LOADER_CONFIG_TEMPLATE = _import_policy_loader_config_template() diff --git a/python/knot_resolver/datamodel/templates/worker-config.lua.j2 b/python/knot_resolver/datamodel/templates/kresd.lua.j2 similarity index 100% rename from python/knot_resolver/datamodel/templates/worker-config.lua.j2 rename to python/knot_resolver/datamodel/templates/kresd.lua.j2 diff --git a/python/knot_resolver/datamodel/templates/policy-config.lua.j2 b/python/knot_resolver/datamodel/templates/policy-loader.lua.j2 similarity index 100% rename from python/knot_resolver/datamodel/templates/policy-config.lua.j2 rename to python/knot_resolver/datamodel/templates/policy-loader.lua.j2