Architecture #19536
closedArchitecture #18730: Move allowed network data to settings
Do not fail technique parsing on missing system variable
Description
We have a sanity check for system technique parsing that verify that all system variables are defined. That check created uncomensurable suffering when a system variable is not used anymore and removed, or a new one is added, because it almost always broke migration: at some point, we have new rudder with old techniques or the opposite, and rudder miserably fails in complicated way (you have an error at the begining of boot that is easely missed, and then during generation, rudder complains that "commons/1.0" (for ex) is not defined, which is surprising and not the real reason).
So we used to impose migration path where in one version, we remove use of a system variable, and in the next, we remove it from rudder known system variable. Of course, it does not work when adding a new variable (an old rudder with new technique will fails).
So I propose to in place of failing the technique parsing, only fail the generation by creating a placeholder system variable with a mandatory value (which won't be provided, since it's missing). The variable name can be: "Missing system variable, please check logs: NAME_OF_VAR"
Updated by François ARMAND over 3 years ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by François ARMAND over 3 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Nicolas CHARLES
- Pull Request set to https://github.com/Normation/rudder/pull/3718
Updated by François ARMAND over 3 years ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|c8e62a3e51b8033984eb10ac33b4a3dfff03cb14.
Updated by Vincent MEMBRÉ over 3 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 7.0.0~beta1 which was released today.