Project

General

Profile

Actions

Bug #3038

closed

This is not possible to edit an Enforce a File Content Directive after a migration from 2.4.0~beta4 to 2 4.0~rc1 (with a fix about v3.1 which contains a wrong metada.xml)

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

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

Description

After an upgrade of Rudder from 2.4.0~beta4 to 2.4.0~rc1 an error is thrown with some conditions:
  • There are several Directives from Enforce a File Content
  • Some of these Directives are at version 2.0, the others are at version 3.0 (the last version from 2.4.0~beta4)
  • Before to update manually the Techniques from packages of Rudder 2.4.0~beta4 to 2.4.0~rc1, fix the metadata.xml of Enforce A File Content by replacing tag <POLICY> by <TECHNIQUE> (#3027)
After a complete upgrade of Rudder and Techniques (commit new Techniques and restart Rudder or reload techniques on the WebUI):
  • Using Rules with Directives based on Enforce A File Content Technique will work
  • Trying to edit a Directive based on Enforce A File Content Technique will lead to:
    • A message in the WebUI "The server cannot be contacted at this time"
    • A message in the webapp logs:
      "[...] Java.NoSuchElementException: [...] Key not found: 3.1 [...]" 
      
The workaround of this problem was to:
  • Remove Enforce A File Content v*3.1* from the Techniques:
    cd /var/rudder/configuration-repository/techniques/fileDistribution/checkGenericFileContent
    git rm -r 3.1/
    git commit -m "Remove 'Enforce A File Content' v3.1 Technique temporarily" 
    
  • Reload the Technique Library on the WebUI (Configuration Policy > Techniques > Reload or Administration > Policy Server > Reload Techniques > Reload)
  • The edition of the Directives based on Enforce A File Content will be available. Migrate all the Directives of Enforce a File Content from 2.0 to 3.0
  • Re enable the Enforce A File Content Technique v*3.1* by reverting the previous commit
    git revert xxxxxx # With xxxxxx = commit id of "Remove 'Enforce A File Content' v3.1 Technique temporarily" 
    
  • Reload the Technique Library on the WebUI (Configuration Policy > Techniques > Reload or Administration > Policy Server > Reload Techniques > Reload)
  • We will be able to edit Directives based on Enforce a File Content and to use version 3.1

Related issues 1 (0 open1 closed)

Is duplicate of Rudder - Bug #3039: This is not possible to edit an Services management Directive after a migration from 2.4.0~beta4 to 2 4.0~rc1ReleasedNicolas PERRONActions
Actions

Also available in: Atom PDF