Architecture #23474
closedEnsure yaml technique id and technique directory path agree
Description
Historically, techniques had their ID derived from their path using the template ${categoryPart}/${techniqueName}/${techniqueVersion}/[metadata.xml & all]
Since we have a technique editor, the technique ID is created one time and stored in the serialized format of the technique descriptor: once upon a time, technique.json
, and in Rudder 8.0, technique.yml
.
We used to have guards to ensure both view of technique Id were matching. The guards were ensured by the webapp.
Now in Rudder 8.0, techniques are coming and going without webapp management: developpers (out of rudder core dev) will want to add theirs techniques in Rudder from sources without having to use the editor. And there isn't any reason they know about the constraint on directory path.
So in the short term, we need to add more guards in webapp, at the stage where technique descriptor is read/loaded/used to compile metadata.xml to check if things match or not ; and in the long term (not that ticket), we need to change technique historical naming scheme and keep only one technique id (the one in the descriptor).
Updated by François ARMAND about 1 year ago
- Status changed from New to In progress
Updated by François ARMAND about 1 year 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/5051
Updated by Vincent MEMBRÉ about 1 year ago
- Assignee changed from Vincent MEMBRÉ to François ARMAND
Updated by Anonymous about 1 year ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|bfa294e57f74bb6c6c2fc3e4786196f431f7241e.
Updated by Vincent MEMBRÉ about 1 year ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 8.0.0~beta3 which was released today.
Updated by Nicolas CHARLES 6 months ago
- Related to Bug #24885: It's impossible to import a technique within a subdirectory in Rudder 8.1 added