Project

General

Profile

Actions

Bug #10011

closed

If 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

Added by Nicolas CHARLES over 7 years ago. Updated over 2 years ago.

Status:
Rejected
Priority:
N/A
Category:
System techniques
Target version:
Severity:
Critical - prevents main use of Rudder | no workaround | data loss | security
UX impact:
User visibility:
Operational - other Techniques | Technique editor | Rudder settings
Effort required:
Medium
Priority:
0
Name check:
Fix check:
Regression:

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 ?

Actions #1

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 3.1.18 to 3.1.19
Actions #2

Updated by Benoît PECCATTE over 7 years ago

  • Assignee changed from Benoît PECCATTE to Alexis Mousset
Actions #3

Updated by Benoît PECCATTE about 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
Actions #4

Updated by Benoît PECCATTE about 7 years ago

  • Assignee deleted (Alexis Mousset)
Actions #5

Updated by Benoît PECCATTE about 7 years ago

  • Priority changed from 0 to 59
Actions #6

Updated by Vincent MEMBRÉ about 7 years ago

  • Target version changed from 3.1.19 to 3.1.20
  • Priority changed from 59 to 58
Actions #7

Updated by Benoît PECCATTE about 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)

Actions #8

Updated by Vincent MEMBRÉ about 7 years ago

  • Target version changed from 3.1.20 to 3.1.21
  • Priority changed from 57 to 56
Actions #9

Updated by Benoît PECCATTE about 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.

Actions #10

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.21 to 3.1.22
Actions #11

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.22 to 3.1.23
  • Priority changed from 55 to 54
Actions #12

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.23 to 3.1.24
  • Priority changed from 54 to 53
Actions #13

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.24 to 3.1.25
  • Priority changed from 53 to 51
Actions #14

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.25 to 387
  • Priority changed from 51 to 50
Actions #15

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 387 to 4.1.10
Actions #16

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 4.1.10 to 4.1.11
  • Priority changed from 50 to 49
Actions #17

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.11 to 4.1.12
Actions #18

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.12 to 4.1.13
Actions #19

Updated by Vincent MEMBRÉ almost 6 years ago

  • Target version changed from 4.1.13 to 4.1.14
Actions #20

Updated by Benoît PECCATTE almost 6 years ago

  • Target version changed from 4.1.14 to 4.1.15
Actions #21

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.15 to 4.1.16
Actions #22

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.16 to 4.1.17
Actions #23

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.17 to 4.1.18
  • Priority changed from 49 to 0
Actions #24

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.18 to 4.1.19
Actions #25

Updated by Alexis Mousset over 5 years ago

  • Target version changed from 4.1.19 to 4.1.20
Actions #26

Updated by François ARMAND over 5 years ago

  • Target version changed from 4.1.20 to 4.1.21
Actions #27

Updated by Vincent MEMBRÉ about 5 years ago

  • Target version changed from 4.1.21 to 4.1.22
Actions #28

Updated by Vincent MEMBRÉ about 5 years ago

  • Target version changed from 4.1.22 to 4.1.23
Actions #29

Updated by Vincent MEMBRÉ about 5 years ago

  • Target version changed from 4.1.23 to 4.1.24
Actions #30

Updated by Vincent MEMBRÉ almost 5 years ago

  • Target version changed from 4.1.24 to 588
Actions #31

Updated by Alexis Mousset almost 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.

Actions #32

Updated by Vincent MEMBRÉ almost 5 years ago

  • Target version changed from 5.0.13 to 5.0.14
Actions #33

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.14 to 5.0.15
Actions #34

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.15 to 5.0.16
Actions #35

Updated by Alexis Mousset over 4 years ago

  • Target version changed from 5.0.16 to 5.0.17
Actions #36

Updated by Vincent MEMBRÉ about 4 years ago

  • Target version changed from 5.0.17 to 5.0.18
Actions #37

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 5.0.18 to 5.0.19
Actions #38

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 5.0.19 to 5.0.20
Actions #39

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 5.0.20 to 797
Actions #40

Updated by Alexis Mousset about 3 years ago

5.0 is not maintained anymore, closing.

Actions #41

Updated by Benoît PECCATTE almost 3 years ago

  • Target version changed from 797 to 6.1.14
Actions #42

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 6.1.14 to 6.1.15
Actions #43

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 6.1.15 to 6.1.16
Actions #44

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 6.1.16 to 6.1.17
Actions #45

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.17 to 6.1.18
Actions #46

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.18 to 6.1.19
Actions #47

Updated by Alexis Mousset over 2 years ago

  • Status changed from New to Rejected

we now have proper macros to handle this.

Actions

Also available in: Atom PDF