Bug #2652
closedArchiving error when a directive has a variable different from the ones available in last version for the Technique
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
Updated by François ARMAND about 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 .
Updated by François ARMAND about 12 years ago
- Priority changed from N/A to 1
OK, now I can reproduce it. Let's see what's happening !
Updated by François ARMAND about 12 years ago
Bug identified !
Now, finding a way to correct it.
Updated by François ARMAND about 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.
Updated by François ARMAND about 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.
Updated by François ARMAND about 12 years ago
- Status changed from In progress to Pending technical review
- % Done changed from 0 to 100
Applied in changeset 2b577d7947b9dec39fb1c17c471b724a691a01c0.
Updated by Nicolas CHARLES about 12 years ago
- Status changed from Pending technical review to Released
Well spotted.
This looks correct, thank you Francois and Nicolas