Architecture #10899
openAllow to update system variables in technique without changing webapp code
Description
For now, there is a high coupling between system variable declaration and rudder web app code, to the point that they need to match down to the micro version.
This is a problem when we have several installation that must be synchronized at the technique level (git sync), but we need to be able to update one webapp after the other.
So, we need to assure a way to add new system variable, or remove no more used one without breaking the web-app in a different version.
The main problem to manage is that if a system variable is declared in the metadata.xml file, we MUST also have it in the "system variable spec service", even if it is never used.
The correct, definitive solution is to put system technique OUT OF THE GIT and package them as a webapp dependant asset. Here, we are exploring mitigation solution for the current LTS and previous version of Rudder that need to be supported with that behavior.
1/ Deletion
Deletion can only occure if the variable is actually not used anymore. It is not used if it does not appear in any metadata.xml file.
In that case, the deletion part is only a convention to have about deprecation and removal: we only remove a system variable from "system variable spec service" (the webapp declaration):
- in an LTS,
- if the previous LTS was not using the variable already.
2/ Adding system variable
Here, the problem is that if we are adding a new variable in a metadata.xml file in Rudder 3.1.20, 4.0.10 and 4.1.5, then we are not able to use the corresponding system techniques in any previous version.
This also work for a system technique added between 3.1 and 4.0 (but in that case, it can be argued that breaking are expected).
So, we need to provide a way to either have a default value passed at the technique level, or other mean not thought of right now.
Updated by François ARMAND over 7 years ago
- Related to Bug #10912: Duration of logrotate for /var/log/rudder/ is too long making /var/log too big added
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.21 to 3.1.22
Updated by François ARMAND over 7 years ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by François ARMAND over 7 years ago
- Target version changed from 3.1.22 to 4.1.6
It may be sufficient to correct it in 4.1.
Updated by François ARMAND over 7 years ago
Work in progess here: https://github.com/fanf/rudder/commit/d7556d561878597014f8746595da19acd121644c
Updated by François ARMAND over 7 years ago
Work in progess here: https://github.com/fanf/rudder/commit/19ae5abb8aba6d3617fc66183ee60c7bc303ce30
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.1.6 to 4.1.7
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.1.7 to 4.1.8
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.8 to 4.1.9
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.9 to 4.1.10
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 4.1.10 to 4.1.11
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.11 to 4.1.12
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.12 to 4.1.13
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 4.1.13 to 411
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 411 to 4.1.13
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.13 to 4.1.14
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 4.1.14 to 4.1.15
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.1.15 to 4.1.16
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.1.16 to 4.1.17
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.1.17 to 4.1.18
Updated by Vincent MEMBRÉ almost 6 years ago
- Target version changed from 4.1.18 to 4.1.19
Updated by Alexis Mousset almost 6 years ago
- Target version changed from 4.1.19 to 4.1.20
Updated by François ARMAND almost 6 years ago
- Target version changed from 4.1.20 to 4.1.21
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 4.1.21 to 4.1.22
Updated by Benoît PECCATTE over 5 years ago
- Target version changed from 4.1.22 to 5.0.10
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.10 to 5.0.11
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.11 to 5.0.12
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.12 to 5.0.13
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.13 to 5.0.14
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.14 to 5.0.15
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.15 to 5.0.16
Updated by Alexis Mousset almost 5 years ago
- Target version changed from 5.0.16 to 5.0.17
Updated by Vincent MEMBRÉ over 4 years ago
- Target version changed from 5.0.17 to 5.0.18
Updated by Benoît PECCATTE over 4 years ago
- Target version changed from 5.0.18 to 6.2.0~beta1
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 6.2.0~beta1 to 6.2.0~rc1
Updated by François ARMAND about 4 years ago
- Target version changed from 6.2.0~rc1 to 7.0.0~beta1
Updated by François ARMAND about 4 years ago
- Status changed from In progress to New
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 7.0.0~beta1 to 7.0.0~beta2
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 7.0.0~beta2 to 7.0.0~beta3
Updated by Alexis Mousset about 3 years ago
- Target version changed from 7.0.0~beta3 to 7.1.0~beta1
Updated by Vincent MEMBRÉ almost 3 years ago
- Target version changed from 7.1.0~beta1 to 7.1.0~beta2
Updated by Vincent MEMBRÉ over 2 years ago
- Target version changed from 7.1.0~beta2 to 7.1.0~rc1
Updated by Alexis Mousset over 2 years ago
- Target version changed from 7.1.0~rc1 to 7.2.0~beta1
Updated by Alexis Mousset over 2 years ago
- Target version changed from 7.2.0~beta1 to 7.3.0~beta1
Updated by Vincent MEMBRÉ almost 2 years ago
- Target version changed from 7.3.0~beta1 to 7.3.0~rc1
Updated by Vincent MEMBRÉ almost 2 years ago
- Target version changed from 7.3.0~rc1 to 7.3.0
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.0 to 7.3.1
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.1 to 7.3.2
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.2 to 7.3.3
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.3 to 7.3.4
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.4 to 7.3.5
Updated by Alexis Mousset over 1 year ago
- Target version changed from 7.3.5 to 7.3.6
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.6 to 7.3.7
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.3.7 to 7.3.8
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.3.8 to 7.3.9
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.3.9 to 7.3.10
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.3.10 to 7.3.11
Updated by Vincent MEMBRÉ 11 months ago
- Target version changed from 7.3.11 to 7.3.12
Updated by Vincent MEMBRÉ 10 months ago
- Target version changed from 7.3.12 to 7.3.13
Updated by Vincent MEMBRÉ 10 months ago
- Target version changed from 7.3.13 to 7.3.14
Updated by Vincent MEMBRÉ 8 months ago
- Target version changed from 7.3.14 to 7.3.15
Updated by Vincent MEMBRÉ 7 months ago
- Target version changed from 7.3.15 to 7.3.16
Updated by Vincent MEMBRÉ 6 months ago
- Target version changed from 7.3.16 to 7.3.17