Bug #29682
openIt is possible to override the rudder node property with a String property, which cannot be modified or deleted
Description
I was able to add a "rudder" node property of type String on a node, which is not the expected type.
There are no modify or delete buttons, so this property cannot be modified or deleted from the webapp, which means this node is stuck with a node property of the wrong type that cannot be deleted.

This issue might also be present for other inherited node properties (e.g. rudder_auto_conditions, rudder_file_edit_header, and any other user-defined inherited node properties ). hence, we should :
A) verify whether it is possible to override them with an incorrect type, and
B) verify whether it is possible to delete the overriding property, especially if its type is not correct
I noticed this issue in a 9.2 instance, but it very well could be present in earlier versions
WORKAROUND: delete value by API:
Files
Updated by Véronique HAYAERT 6 days ago
- Subject changed from It is possible to override the rudder node property with a String property, which cannot be deleted to It is possible to override the rudder node property with a String property, which cannot be modified or deleted
- Description updated (diff)
Updated by Véronique HAYAERT 6 days ago
- Priority changed from N/A to To review
Updated by Nicolas CHARLES 5 days ago
- Assignee set to François ARMAND
- Priority changed from To review to 0 (blocking)
- Target version set to 9.0.10
the real issue is not that we can override, but it's that we can't fix afterward
MAYBE it is because rudder is a system variable
Updated by François ARMAND 4 days ago
- Status changed from New to In progress
Updated by François ARMAND 4 days ago
- Target version changed from 9.0.10 to 9.1.5
Updated by François ARMAND 4 days ago
- Description updated (diff)
So, since that breaks thing on the agen (since at some point, we have hardecoded ${node.properties[rudder][server][cf_serverd_bind_address]} in some policies), I'm wondering if we shouldn't at least forbied anything but JSON type for that property.
Updated by François ARMAND 4 days ago
So, on that case, we are linking the parent property provider, which is a system one forbidding write.
We should:
- never forbid write on an override we did,
- not use that property provider, that's doesn't make sense.
Updated by François ARMAND 4 days 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/7466