Project

General

Profile

Actions

Bug #7557

closed

Promises are not regenerated during upgrade

Added by Nicolas CHARLES over 8 years ago. Updated over 8 years ago.

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

Description

I upgraded from 2.11nightly to 3.1nightly, on SLES11, and promises were no regenerated - it prevented reporting from happening
Event logs show

49    2015-12-07 18:49    rudder    Application started    Rudder starts
48    2015-12-07 18:49    rudder    Policy update started automatically    Automatically update policies

I also got the following errors in the logs

[2015-12-07 18:49:11] WARN  com.normation.rudder.services.policies.nodeconfig.LdapNodeConfigurationCacheRepository - Ignoring following node configuration cache info because of deserialisation error: {"id":{"val
ue":"4703e34e-feaa-4653-8d13-f4bb7eaebf5b"},"writtenDate":"2015-12-07T17:41:43.295Z","nodeInfoCache":1426327174,"parameterCache":-2085047362,"nodeContextCache":-1541259392,"policyCache":[{"ruleId":{"value":"inve
ntory-all"},"draftId":{"value":"inventory-all@@inventory-all"},"cacheValue":-765781656},{"ruleId":{"value":"dc99a03f-4752-4850-9a98-f67c4e4b2cba"},"draftId":{"value":"dc99a03f-4752-4850-9a98-f67c4e4b2cba@@796725
8f-04cc-475e-b5bb-18f89c0cc5ef"},"cacheValue":316328241},{"ruleId":{"value":"dc99a03f-4752-4850-9a98-f67c4e4b2cba"},"draftId":{"value":"dc99a03f-4752-4850-9a98-f67c4e4b2cba@@9e926b89-d2d2-48f2-9f97-b56e1534ccc1" 
},"cacheValue":-1440161808},{"ruleId":{"value":"hasPolicyServer-root"},"draftId":{"value":"hasPolicyServer-root@@common-root"},"cacheValue":768346630},{"ruleId":{"value":"32377fd7-02fd-43d0-aab7-28460a91347b"}," 
draftId":{"value":"32377fd7-02fd-43d0-aab7-28460a91347b@@5580ad5c-81a7-4fc8-880e-39a5d343c5c8"},"cacheValue":-1182879005}]}
net.liftweb.json.MappingException: Parsed JSON values do not match with class constructor
args=
arg types=
constructor=public com.normation.rudder.services.policies.nodeconfig.NodeConfigurationCache(com.normation.inventory.domain.NodeId,scala.Option,int,int,int,scala.collection.immutable.Set)


Subtasks 2 (0 open2 closed)

Bug #7560: Reload technique API call must be synchroneReleasedVincent MEMBRÉ2015-12-08Actions
Bug #7562: Reload technique API call must be synchrone (cfclerk part)ReleasedVincent MEMBRÉ2015-12-08Actions
Actions #1

Updated by Nicolas CHARLES over 8 years ago

  • Assignee set to François ARMAND
  • Priority changed from N/A to 1

Ha, logs show

[2015-12-07 18:33:42] INFO  migration - Migration of inline variables in Directives to 'rudder' namespace already done, skipping
[2015-12-07 18:33:42] INFO  bootstrap.liftweb.checks.CheckTechniqueLibraryReload - Flag file '/opt/rudder/etc/force_technique_reload' found, reload Technique library now
[2015-12-07 18:33:43] INFO  com.normation.cfclerk.services.impl.TechniqueRepositoryImpl - Reloading technique library, found modified technique(s): common/1.0, server-roles/1.0
[2015-12-07 18:33:43] ERROR com.normation.rudder.services.policies.SaveDirectivesOnTechniqueCallback - Error when trying to save directive based on updated Techniques <- System directive 'Server Roles' (server-r
oles-directive) can't be updated <- System directive 'Common' (common-root) can't be updated <- System directive 'Common' (common-root) can't be updated
[2015-12-07 18:33:43] INFO  com.normation.rudder.services.policies.DeployOnTechniqueCallback - Reload Technique library at start up
[2015-12-07 18:33:43] INFO  com.normation.rudder.services.policies.DeploymentServiceImpl - Start policy generation, checking updated rules
[2015-12-07 18:33:43] INFO  bootstrap.liftweb.checks.CheckTechniqueLibraryReload - Successfully reloaded Technique library on start up. now deleting flag file '/opt/rudder/etc/force_technique_reload'
[2015-12-07 18:33:43] INFO  bootstrap.liftweb.checks.CheckTechniqueLibraryReload - Flag file '/opt/rudder/etc/force_technique_reload' successfully removed

Actions #2

Updated by Jonathan CLARKE over 8 years ago

Also, if the promise generation launched by a technique reload fails, we should not finish with "Successfully reloaded Technique library" and removing the reload file.

If we leave the reload file, the next rudder-jetty restart could try again and maybe succeed. If we don't (as now), we're doomed except for manual intervention.

Actions #3

Updated by François ARMAND over 8 years ago

  • Status changed from New to In progress
Actions #4

Updated by François ARMAND over 8 years ago

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

Updated by François ARMAND over 8 years ago

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

Updated by François ARMAND over 8 years ago

  • Target version changed from 3.1.5 to 2.11.17

The problem is in 2.11 and the patch was backported to that branch in 4c7f85d

Actions #9

Updated by François ARMAND over 8 years ago

  • Category set to Web - Config management
Actions #10

Updated by Vincent MEMBRÉ over 8 years ago

  • Subject changed from During upgrade from 2.11nightly to 3.1nightly, promises are not regenerated to Promises are not regenerated during upgrade
Actions #11

Updated by Vincent MEMBRÉ over 8 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.11.17, 3.0.12 and 3.1.5 which were released today.

Actions

Also available in: Atom PDF