Project

General

Profile

Actions

Bug #2652

closed

Archiving error when a directive has a variable different from the ones available in last version for the Technique

Added by Nicolas PERRON over 12 years ago. Updated over 12 years ago.

Status:
Released
Priority:
1 (highest)
Category:
Web - Maintenance
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

After a migration from 2.3 to 2.4, rudder can't be initialized since archives result in error.

It seems that checkGenericFileContent technique contains a variable (GENERIC_FILE_CONTENT_DELETION_BOOLEAN) in some versions (2.1 and 3.0) and the techniques archived are under versions below (1.0 and 2.0). Nevertheless, when initializing Rudder in 2.4, it tries to archive these techniques and complains about non existence of GENERIC_FILE_CONTENT_DELETION_BOOLEAN.

Extract from /var/log/rudder/XXXXX.stderrout.log :

[2012-07-13 11:47:04] DEBUG com.normation.rudder.repository.xml.GitDirectiveArchiverImpl - Archived directive: /var/rudder/configuration-repository/directives/userlib_systemSettings/userlib_systemManagement/cronManagement/9540a790-14db-4e4a-855d-65eaf897a658.xml
[2012-07-13 11:47:04] DEBUG com.normation.rudder.repository.xml.GitActiveTechniqueCategoryArchiverImpl - Archived technique library category: /var/rudder/configuration-repository/directives/category.xml
[2012-07-13 11:47:04] DEBUG com.normation.rudder.repository.xml.GitActiveTechniqueCategoryArchiverImpl - Archived technique library category: /var/rudder/configuration-repository/directives/userlib_fileDistribution/category.xml
[2012-07-13 11:47:04] DEBUG com.normation.rudder.repository.xml.GitActiveTechniqueArchiverImpl - Archived technique library template: /var/rudder/configuration-repository/directives/userlib_fileDistribution/checkGenericFileContent/activeTechniqueSettings.xml
[2012-07-13 11:47:04] DEBUG com.normation.rudder.repository.xml.UpdatePiOnActiveTechniqueEvent - Executing archivage of PIs for UPT 'ActiveTechnique(ActiveTechniqueId(b5c45ea0-71cf-44ed-84fd-6aa38a7d5010),checkGenericFileContent,Map(1.0 -> 2011-12-15T06:51:19.252-05:00, 2.0 -> 2012-02-13T04:45:24.964-05:00, 3.0 -> 2012-02-13T04:45:24.964-05:00, 2.1 -> 2012-02-13T04:45:24.964-05:00),List(DirectiveId(8c3e1652-e9c6-4b4b-b411-43185277e5fd), DirectiveId(7f71a2db-be96-4374-a595-070c6b126316), DirectiveId(e4c5d627-dfab-40ef-b7ec-209be2320fb5), DirectiveId(0ff36544-5463-4373-a80a-c4c8acdcd7c6), DirectiveId(06fdb604-7cee-48e5-b614-fa3f5fa4e9a8), DirectiveId(871d46aa-6f31-42cc-9e16-a5214c43a0e4), DirectiveId(606976aa-6bd9-4792-b3cb-2be7059cf8d5), DirectiveId(ab11b05b-a17d-4863-828a-4e1c80600cf3), DirectiveId(364e2166-750a-4880-b032-778d84e53228), DirectiveId(aa8a3354-72ed-4881-b9c6-640b774d5312), DirectiveId(2b19076e-3211-4ef9-a1ef-06d56d66872a), DirectiveId(3c284819-446b-4eda-9ebf-0ce33695621f), DirectiveId(94dd46cc-8fb9-469c-b390-3ab8dfd0f651), DirectiveId(df2915f1-c961-4cca-bccc-38dd9e38ed66)),true,false)'
[2012-07-13 11:47:04] ERROR net.liftweb.http.provider.HTTPProvider - Failed to Boot! Your application may not run properly
java.util.NoSuchElementException: key not found: GENERIC_FILE_CONTENT_DELETION_BOOLEAN
    at scala.collection.MapLike$class.default(MapLike.scala:224) ~[scala-library-2.9.1.jar:na]
[2012-07-13 11:47:04] DEBUG net.liftweb.util.Props - Loaded key/value properties from resource /props/production.default.props
2012-07-13 11:47:05.082:INFO::Started SelectChannelConnector@127.0.0.1:8080

Actions #1

Updated by François ARMAND over 12 years ago

  • Status changed from New to In progress

For now, I can reproduce it, I'm really wondering what can cause that. Still investigating .

Actions #2

Updated by François ARMAND over 12 years ago

  • Priority changed from N/A to 1 (highest)

OK, now I can reproduce it. Let's see what's happening !

Actions #3

Updated by François ARMAND over 12 years ago

Bug identified !

Now, finding a way to correct it.

Actions #4

Updated by François ARMAND over 12 years ago

Never ever deference a root SectionSpec from its Technique, else it looses the technique ID for which it was created.

And then, you get that kind of errors.

Actions #5

Updated by François ARMAND over 12 years ago

  • Subject changed from After a migration from 2.3 to 2.4, rudder can't be initialized since archives result in error to Archiving error when a directive has a variable different from the ones available in last version for the Technique
  • Description updated (diff)

OK, so for the archiving, we weren't correctly taking into account the version of the Technique actually used for the Directive.

Actions #6

Updated by François ARMAND over 12 years ago

  • Status changed from In progress to Pending technical review
  • % Done changed from 0 to 100
Actions #7

Updated by Nicolas CHARLES over 12 years ago

  • Status changed from Pending technical review to Released

Well spotted.
This looks correct, thank you Francois and Nicolas

Actions

Also available in: Atom PDF