Bug #10011
closedIf we use a generic method compatible only with a specific version of Rudder on an agent too old, we have a runtime error on the agent
Description
If I use a technique using package_state on a 3.1 agent, i get the following error on the node:
# /var/rudder/cfengine-community/bin/cf-promises /var/rudder/cfengine-community/inputs/Test_technique/1.0/Test_technique.cf:15:0: error: Undefined bundle package_state with type usebundle
Node is not working anymore then
We could:- create dummy generic method with opposite loading conditions, that would only report error
- generate them automatically
- detect that the technique depend on an unavailable generic method, and skip it
or something else more clever
Benoit, what do you think of this ?
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.1.18 to 3.1.19
Updated by Benoît PECCATTE over 7 years ago
- Assignee changed from Benoît PECCATTE to Alexis Mousset
Updated by Benoît PECCATTE over 7 years ago
- Severity set to Critical - prevents main use of Rudder | no workaround | data loss | security
- User visibility set to Operational - other Techniques | Technique editor | Rudder settings
- Priority set to 0
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.19 to 3.1.20
- Priority changed from 59 to 58
Updated by Benoît PECCATTE over 7 years ago
- Effort required set to Medium
- Priority changed from 58 to 57
We could create dummy generic method with error reports in them (even automatically).
But having opposite condition is difficult because conditions are parsed in shell and it currently doesn't support inverting conditions.
A better solution :
- add a line in list-compatible-input : if a method is not loaded, try to load the .loadfailed file
- generate a new file for each generic method that has conditions named this_generic_method.loadfailed
- this file would contain the same generic method definition with a single error report (use ncf api to parse and know the parameters)
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.20 to 3.1.21
- Priority changed from 57 to 56
Updated by Benoît PECCATTE over 7 years ago
- Assignee set to Alexis Mousset
- Priority changed from 56 to 55
Solution: create a .unsupported.cf for those 4 generic methods.
See dry_run_lib.cf for existing use case.
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.21 to 3.1.22
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.22 to 3.1.23
- Priority changed from 55 to 54
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.23 to 3.1.24
- Priority changed from 54 to 53
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.24 to 3.1.25
- Priority changed from 53 to 51
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 3.1.25 to 387
- Priority changed from 51 to 50
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 387 to 4.1.10
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 4.1.10 to 4.1.11
- Priority changed from 50 to 49
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 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
- Priority changed from 49 to 0
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 over 5 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 Vincent MEMBRÉ over 5 years ago
- Target version changed from 4.1.22 to 4.1.23
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 4.1.23 to 4.1.24
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 4.1.24 to 588
Updated by Alexis Mousset over 5 years ago
- Target version changed from 588 to 5.0.13
In 5.1 we added a CFEngine version check when agent starts, tat stops immediately if the agent is too old to avoid this type of behavior.
We could backport it to 5.0.
Updated by Vincent MEMBRÉ about 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É almost 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 Vincent MEMBRÉ over 4 years ago
- Target version changed from 5.0.18 to 5.0.19
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 5.0.19 to 5.0.20
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 5.0.20 to 797
Updated by Alexis Mousset over 3 years ago
5.0 is not maintained anymore, closing.
Updated by Benoît PECCATTE over 3 years ago
- Target version changed from 797 to 6.1.14
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.14 to 6.1.15
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.15 to 6.1.16
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.16 to 6.1.17
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.17 to 6.1.18
Updated by Vincent MEMBRÉ almost 3 years ago
- Target version changed from 6.1.18 to 6.1.19
Updated by Alexis Mousset almost 3 years ago
- Status changed from New to Rejected
we now have proper macros to handle this.