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 #1

Updated by Nicolas PERRON over 11 years ago

  • Description updated (diff)
Actions #2

Updated by François ARMAND over 11 years ago

  • Status changed from New to Rejected

That seems to be the same bug as #3039, and the fact that removing then adding the faulty Technique version seems to indicate that something goes wrong in the registering process of that version.

Closing it as duplicates.

Actions

Also available in: Atom PDF