Bug #17977
closedResource automatically added on newly created technique - since 6.1 upgrade
Description
All this began after 6.1 upgrade. Previously, nothing wrong happened.
When creating a blank and very simple custom technique, Rudder automatically adds a resource :
" shared-files/sit-rudder ${resources_dir}/shared-files/sit-rudder "
though I did not use any resource or add anything related to it.
This situation is severe as following this issue, the rules often fails to be generated until I disable everything related to this technique (the technique, the directives using it...)
Context :
Previously, I added the directory /var/rudder/configuration-repository/shared-files/sit-rudder which I'm using as a source for several other directives (but not this technique).
This sit-rudder directory is itself a git clone from another external git repository.
Please note that /var/rudder/configuration-repository is git-controlled.
In /var/rudder/configuration-repository, I can see this :
root@sit-conf-prd01:/var/rudder/configuration-repository# git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: shared-files/sit-rudder (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
The /var/rudder/configuration-repository/techniques/ncf_techniques/abcde01/1.0/metadata.xml file (created on this test) contains :
[...]
<FILE name="RUDDER_CONFIGURATION_REPOSITORY/techniques/ncf_techniques/abcde01/1.0/resources/shared-files/sit-rudder">
<INCLUDED>false</INCLUDED>
<OUTPATH>abcde01/1.0/resources/shared-files/sit-rudder</OUTPATH>
</FILE>
[...]
Would it help if I provide git-related information about /var/rudder/configuration-repository?
Workaround¶
As the problem is located in jgit
library, we can't correct it immediatly.
A workaround is to ignore the sub-gig repository. It will still be a git repository, and files in it will still be shareable, but it will stop confusing everything in rudder.
- on root server, go to /var/rudder/configuration-repository
- remove from git knowledge sub-git: git rm -r --cached shared-files/sit-rudder
- add to /var/rudder/configuration-repository/.gitignore
(create it if necessary) line: shared-files/sit-rudder
- add gitignore change (rm is already added): git add .gitignore
- commit: git commit -m "Forgeting about sub-repos, it's causing too much troubles"
- done.
Files
Updated by François ARMAND over 4 years ago
- Assignee set to Vincent MEMBRÉ
- User visibility changed from Operational - other Techniques | Rudder settings | Plugins to Getting started - demo | first install | Technique editor and level 1 Techniques
- Priority changed from 76 to 94
Some more information:
- it happens with an other user / an other browser
- it breaks a lot of things - it is likely the root cause of #17939
We must ensure that:
- the "check if something changed" feature is BY TECHNIQUE ID,
- we clean up session storage at login/logout,
- we don't check for resources anywhere but in technique directory.
Updated by François ARMAND over 4 years ago
- File clipboard-202007151810-ny1xl.png clipboard-202007151810-ny1xl.png added
- File clipboard-202007151811-plgya.png clipboard-202007151811-plgya.png added
Reproduced with:
- git clone a sit-rudder
repo under /var/rudder/configuration-repository/shared-files/
- git add shared-files,
- git commit,
- modify something under sit-rudder
and commit in that repos.
Result:
Updated by François ARMAND over 4 years ago
Created a simple reproducer: it's located in JGit (see attached file in https://bugs.eclipse.org/bugs/show_bug.cgi?id=565251)
Updated by François ARMAND over 4 years ago
- Description updated (diff)
- Severity changed from Critical - prevents main use of Rudder | no workaround | data loss | security to Major - prevents use of part of Rudder | no simple workaround
- Priority changed from 94 to 70
Add a workaround.
Updated by François ARMAND over 4 years ago
- Category set to Web - Technique editor
- Target version set to 6.1.2
Updated by François ARMAND over 4 years ago
- Status changed from New to In progress
- Assignee changed from Vincent MEMBRÉ to François ARMAND
Updated by François ARMAND over 4 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/3127
Updated by François ARMAND over 4 years ago
- Related to Bug #17939: After upgrade from 6.0 to 6.1, deleted technique in editor still present in techniques repos breaks generation added
Updated by François ARMAND over 4 years ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|79e97fa2cb0f7af87b5143e56249de437693eb0a.
Updated by Nicolas Ecarnot over 4 years ago
Alas, the .gitignore get overwritten quickly, so the workaround only works for a moment.
Updated by Elaad FURREEDAN over 4 years ago
- Fix check changed from To do to Checked
Updated by François ARMAND over 4 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 6.1.2 which was released today.