Project

General

Profile

Bug #4480

When restoring archive (full or groups) dynamic groups are created empty

Added by Vincent MEMBRÉ over 5 years ago. Updated 4 months ago.

Status:
Released
Priority:
1
Category:
Web - Config management
Target version:
Severity:
Critical - prevents main use of Rudder | no workaround | data loss | security
User visibility:
Operational - other Techniques | Technique editor | Rudder settings
Effort required:
Large
Priority:
0

Description

When your restore an archive, dynamic groups are restored empty, meaning that Rules won't be generated on those empty groups.

Since dynamic group reload occurs only every 5 minutes, Rules won't be deployed until taht event occurs.

It can be launched manually within the webapp, in Administration -> Settings page or by using the api on the url /api/dyngroup/reload

When groups are restaured and automatic group reloading should be launched before deployment.


Subtasks

Bug #14771: Use of unitialized value error when restoring archiveReleasedNicolas CHARLESActions

Related issues

Related to Rudder - Bug #14758: Accepting a change request on dynamic group, make the group empty leads an invalid policy generation ReleasedActions
Related to Change validation - Bug #14766: When accepting a change request on a group, it's node list should be computed before savingNewActions
Related to Rudder - Architecture #14767: When we accept nodes, dynamic group should be automatically updated at the end of the acceptation, in a synchronized wayNewActions
Related to Rudder - Bug #7471: Putting Techniques, Groups, Directives in the /var/rudder/configuration and importing from last commit may fail to import techniquesNewActions
Related to Rudder - Bug #15183: Reload technique library when restoring an archiveNewActions

Associated revisions

Revision 6b7a9121 (diff)
Added by Vincent MEMBRÉ 5 months ago

Fixes #4480: When restoring archive (full or groups) dynamic groups are created empty

Revision 0813e81e (diff)
Added by Vincent MEMBRÉ 5 months ago

Fixes #4480: When restoring archive (full or groups) dynamic groups are created empty

History

#1

Updated by François ARMAND over 5 years ago

  • Status changed from New to 8

So, it's less trivial than initially thought:

- 1/ updating dynamic group is done asynchronously, so if we start it before starting promise generation, the result will certainly not be what we want (only partial update of groups ?)
- 2/ but if we issue a not asynchronous dynamic update, it may be long and make the import process even longer.

So, it seems that we want a way to start other things at the end of the dyngroup generation, something "on complete" (that does not exists for now).

#2

Updated by Nicolas CHARLES over 5 years ago

I guess the import time is not that bad, compared to the alternative of having incomplete promises.
Plus, the time of computing groups is in seconds, isn't it ?

#3

Updated by François ARMAND over 5 years ago

Yes, computing groups is quick. But you have to either wait for the next dynamic group generation (by default, 5 min if no luck), or trigger it by hand (need a second action). So it would be far better to have the trigger trigged automatically :)

#4

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 2.6.11 to 2.6.12
#5

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 2.6.12 to 2.6.13
#6

Updated by Nicolas CHARLES over 5 years ago

Maybe we could:
- start a dyn update
- wait for x secondes
- deploy

what do you think of it ?

#7

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 2.6.13 to 2.6.14
#8

Updated by Jonathan CLARKE over 5 years ago

  • Target version changed from 2.6.14 to 2.6.16
#9

Updated by Jonathan CLARKE about 5 years ago

  • Target version changed from 2.6.16 to 2.6.17
#10

Updated by Nicolas PERRON about 5 years ago

  • Target version changed from 2.6.17 to 2.6.18
#11

Updated by Matthieu CERDA almost 5 years ago

  • Target version changed from 2.6.18 to 2.6.19
#12

Updated by Vincent MEMBRÉ almost 5 years ago

  • Target version changed from 2.6.19 to 2.6.20
#13

Updated by François ARMAND over 4 years ago

  • Target version changed from 2.6.20 to 2.10.10
#14

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.10.10 to 2.10.11
#15

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.10.11 to 2.10.12
#16

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.10.12 to 2.10.13
#17

Updated by Benoît PECCATTE over 4 years ago

  • Status changed from 8 to New
#18

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.10.13 to 2.10.14
#19

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.10.14 to 2.10.15
#20

Updated by Vincent MEMBRÉ about 4 years ago

  • Target version changed from 2.10.15 to 2.10.16
#21

Updated by Vincent MEMBRÉ about 4 years ago

  • Target version changed from 2.10.16 to 2.10.17
#22

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 2.10.17 to 2.10.18
#23

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 2.10.18 to 2.10.19
#24

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 2.10.19 to 2.10.20
#25

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 2.10.20 to 2.11.18
#26

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 2.11.18 to 2.11.19
#27

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 2.11.19 to 2.11.20
#28

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 2.11.20 to 2.11.21
#29

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 2.11.21 to 2.11.22
#30

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 2.11.22 to 2.11.23
#31

Updated by Vincent MEMBRÉ about 3 years ago

  • Target version changed from 2.11.23 to 2.11.24
#32

Updated by Vincent MEMBRÉ about 3 years ago

  • Target version changed from 2.11.24 to 308
#33

Updated by Vincent MEMBRÉ about 3 years ago

  • Target version changed from 308 to 3.1.14
#34

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 3.1.14 to 3.1.15
#35

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 3.1.15 to 3.1.16
#36

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 3.1.16 to 3.1.17
#37

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 3.1.17 to 3.1.18
#38

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.18 to 3.1.19
#39

Updated by François ARMAND over 2 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
  • Effort required set to Large
  • Priority set to 0
#40

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.19 to 3.1.20
#41

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.20 to 3.1.21
#42

Updated by François ARMAND over 2 years ago

  • Priority changed from 0 to 39
#43

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.21 to 3.1.22
#44

Updated by Benoît PECCATTE about 2 years ago

  • Priority changed from 39 to 40
#45

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 3.1.22 to 3.1.23
#46

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 3.1.23 to 3.1.24
#47

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 3.1.24 to 3.1.25
  • Priority changed from 40 to 41
#48

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 3.1.25 to 387
#49

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 387 to 4.1.10
#50

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 4.1.10 to 4.1.11
  • Priority changed from 41 to 42
#51

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 4.1.11 to 4.1.12
  • Priority changed from 42 to 43
#52

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 4.1.12 to 4.1.13
#53

Updated by Vincent MEMBRÉ about 1 year ago

  • Target version changed from 4.1.13 to 4.1.14
  • Priority changed from 43 to 44
#54

Updated by Benoît PECCATTE about 1 year ago

  • Target version changed from 4.1.14 to 4.1.15
#55

Updated by Vincent MEMBRÉ 11 months ago

  • Target version changed from 4.1.15 to 4.1.16
  • Priority changed from 44 to 45
#56

Updated by Vincent MEMBRÉ 11 months ago

  • Target version changed from 4.1.16 to 4.1.17
#57

Updated by Vincent MEMBRÉ 10 months ago

  • Target version changed from 4.1.17 to 4.1.18
  • Priority changed from 45 to 0
#58

Updated by Vincent MEMBRÉ 9 months ago

  • Target version changed from 4.1.18 to 4.1.19
#59

Updated by Alexis MOUSSET 8 months ago

  • Target version changed from 4.1.19 to 4.1.20
#60

Updated by Nicolas CHARLES 5 months ago

it also happens when validating change request, but it's even worse as it does not trigger a dynamic group update - so it lasts much longer in an invalid state

#61

Updated by Nicolas CHARLES 5 months ago

  • Related to Bug #14758: Accepting a change request on dynamic group, make the group empty leads an invalid policy generation added
#62

Updated by Nicolas CHARLES 5 months ago

  • Target version changed from 4.1.20 to 5.0.10

Targeting to 5.0, as #14758 take care of the workaround in 4.1

when importing an archive, it should compute node list before saving. This should be synchronized, as others actions can happen at the same time (accept node, change request, etc), and this computation should block loading nodes list in policy generation

#63

Updated by Nicolas CHARLES 5 months ago

  • Related to Bug #14766: When accepting a change request on a group, it's node list should be computed before saving added
#64

Updated by Nicolas CHARLES 5 months ago

  • Related to Architecture #14767: When we accept nodes, dynamic group should be automatically updated at the end of the acceptation, in a synchronized way added
#65

Updated by Vincent MEMBRÉ 5 months ago

  • Target version changed from 5.0.10 to 4.1.22
#66

Updated by Vincent MEMBRÉ 5 months ago

  • Status changed from New to In progress
  • Assignee set to Vincent MEMBRÉ
#67

Updated by Vincent MEMBRÉ 5 months ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Vincent MEMBRÉ to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder/pull/2204
#68

Updated by Vincent MEMBRÉ 5 months ago

  • Status changed from Pending technical review to Pending release
#70

Updated by Vincent MEMBRÉ 4 months ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 4.1.22, 4.3.12 and 5.0.10 which were released today.

#71

Updated by Vincent MEMBRÉ 3 months ago

  • Related to Bug #7471: Putting Techniques, Groups, Directives in the /var/rudder/configuration and importing from last commit may fail to import techniques added
#72

Updated by Vincent MEMBRÉ 2 months ago

  • Related to Bug #15183: Reload technique library when restoring an archive added

Also available in: Atom PDF