Project

General

Profile

Actions

Bug #4130

closed

When upgrading 2.4 -> 2.8, promises are generated before the migration of CFEngine variable, leading to wrong promises generated

Added by Vincent MEMBRÉ over 10 years ago. Updated about 9 years ago.

Status:
Released
Priority:
N/A
Category:
Web - Config management
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

After an upgrade from 2.4.11 to 2.8.0~rc2, nodes managed by rudder server cannot update their policy anymore.

failsafe.cf file is still generated using ${node.id} instead of ${rudder.node.id} but ${node.id} is not used anymore. resulting in a failsafe.cf looking like that:

      "uuid"                       string => "${node.id}";

also update.cf has a problem, and the node can't connect anymore to update the server

      "policy_files" string => "/var/rudder/share/${node.id}";   #directory where to look for promises in the server for that client

THis is due because a reload of the technique library occurs before the variable are migrated, leading to a generation using a wrong parameter

[2013-11-05 15:36:02] INFO  com.normation.rudder.batch.CheckTechniqueLibrary - Flag file '/opt/rudder/etc/force_technique_reload' found, reload Technique library now
[2013-11-05 15:36:02] INFO  com.normation.cfclerk.services.impl.TechniqueRepositoryImpl - Reloading technique library, found modified technique(s): inventory/1.0, common/1.0, distributePolicy/1.0
[2013-11-05 15:36:03] INFO  com.normation.rudder.services.policies.DeployOnTechniqueCallback - Reload Technique library at start up
[2013-11-05 15:36:03] INFO  com.normation.rudder.batch.CheckTechniqueLibrary - Successfully reloaded Technique library on start up. now deleting flag file '/opt/rudder/etc/force_technique_reload'
[2013-11-05 15:36:03] INFO  com.normation.rudder.batch.CheckTechniqueLibrary - Flag file '/opt/rudder/etc/force_technique_reload' successfully removed
.
.
.
[2013-11-05 15:36:05] INFO  com.normation.rudder.services.servers.NodeConfigurationServiceImpl - Configuration of following nodes were updated, their promises are going to be written: ff260631-77e6-4ca7-ba7a-9855b919250d, root
.
.
.
[2013-11-05 15:36:07] INFO  migration - Starting migration of inline variables in Directives (i.e variables with ${XXX} syntax) to new 'rudder' namespace (i.e to syntax ${rudder.XXX})
[2013-11-05 15:36:07] INFO  migration - Migrating inline variables in Directive Common (uuid: common-root) so that they use the new 'rudder' namespace
[2013-11-05 15:36:08] INFO  migration - Migration of inline variables in Directives to new 'rudder' namespace succeeded
[2013-11-05 15:36:08] INFO  migration - No variable name with dot defined in the generic CFEngine Variable Definition, skipping
.
.
.
[2013-11-05 15:36:09] INFO  com.normation.rudder.batch.AsyncDeploymentAgent - Successful deployment 1 [2013/11/05 15:36:03 - 2013/11/05 15:36:09]

The update of technique library should be made after that, or the migration of of variable should trigger a new deployment.

Actions #1

Updated by Vincent MEMBRÉ over 10 years ago

  • Status changed from New to Pending technical review
  • Assignee changed from Vincent MEMBRÉ to François ARMAND
  • Pull Request set to https://github.com/Normation/rudder/pull/363
Actions #2

Updated by Vincent MEMBRÉ over 10 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
Actions #3

Updated by Anonymous over 10 years ago

Actions #4

Updated by Vincent MEMBRÉ over 10 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.8.0, which was released today.
Check out:

Actions #5

Updated by Benoît PECCATTE about 9 years ago

  • Category changed from 14 to Web - Config management
Actions

Also available in: Atom PDF