Bug #22077
closedGroup properties web page of a group of groups containing conflicting properties are unaccessible
Added by Félix DALLIDET about 2 years ago. Updated about 1 month ago.
Description
To reproduce, create two groups with the same property, but with different values. Make sure to have at least one node in it.
Resolve the conflict by creating a new group from the intersection of the previous two.
Then try to acces the property webpage of the latest, you can't.
Let's have 3 groups: AWS, Production and 'Production in AWS'.
- Let's define a 'exception' property in the 'Production in AWS'
- Now let's define a 'test' property in the AWS one
- And creating the same one, with a different value in the Production group
The 'Production in AWS' should now resolve the conflicting 'test' property but still define the 'exception' one. Currently, it makes the 'exception' one impossible to edit.
Also, this is a common case when trying to resolve a complex case of property overriding. And not being able to visualize the conflicting properties in the resolution group is a major pain.
Files
group_of_groups_broken_tab.png (116 KB) group_of_groups_broken_tab.png | Félix DALLIDET, 2022-11-15 15:14 | ||
clipboard-202408221624-pd64d.png (219 KB) clipboard-202408221624-pd64d.png | François ARMAND, 2024-08-22 16:24 | ||
clipboard-202408221625-h5bi1.png (205 KB) clipboard-202408221625-h5bi1.png | François ARMAND, 2024-08-22 16:25 | ||
clipboard-202408221626-jtjtg.png (121 KB) clipboard-202408221626-jtjtg.png | François ARMAND, 2024-08-22 16:26 | ||
clipboard-202408222218-6h5tz.png (113 KB) clipboard-202408222218-6h5tz.png | François ARMAND, 2024-08-22 22:18 |
Updated by Félix DALLIDET about 2 years ago
Updated by Nicolas CHARLES about 2 years ago
- Related to Bug #22078: It's impossible to set a property on an intersection of groups if any two groups set a same property with different value added
Updated by Vincent MEMBRÉ almost 2 years ago
- Target version changed from 7.1.8 to 7.1.9
Updated by Vincent MEMBRÉ almost 2 years ago
- Target version changed from 7.1.9 to 7.1.10
Updated by Vincent MEMBRÉ almost 2 years ago
- Target version changed from 7.1.10 to 1016
- Priority changed from 65 to 63
Updated by Alexis Mousset over 1 year ago
- Target version changed from 1016 to 7.2.5
- Priority changed from 63 to 62
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.2.5 to 7.2.6
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.2.6 to 7.2.7
- Priority changed from 62 to 60
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.2.7 to 7.2.8
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.2.8 to 7.2.9
- Priority changed from 60 to 58
Updated by Vincent MEMBRÉ over 1 year ago
- Target version changed from 7.2.9 to 7.2.10
Updated by Alexis Mousset over 1 year ago
- Target version changed from 7.2.10 to 7.2.11
- Priority changed from 58 to 57
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.2.11 to 1046
- Priority changed from 57 to 56
Updated by Alexis Mousset about 1 year ago
- Target version changed from 1046 to 7.3.8
- Priority changed from 56 to 55
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.3.8 to 7.3.9
- Priority changed from 55 to 54
Updated by Vincent MEMBRÉ about 1 year ago
- Target version changed from 7.3.9 to 7.3.10
Updated by Vincent MEMBRÉ 12 months ago
- Target version changed from 7.3.10 to 7.3.11
Updated by Vincent MEMBRÉ 10 months ago
- Target version changed from 7.3.11 to 7.3.12
Updated by Vincent MEMBRÉ 9 months ago
- Target version changed from 7.3.12 to 7.3.13
Updated by Vincent MEMBRÉ 9 months ago
- Target version changed from 7.3.13 to 7.3.14
Updated by Vincent MEMBRÉ 7 months ago
- Target version changed from 7.3.14 to 7.3.15
Updated by Vincent MEMBRÉ 6 months ago
- Target version changed from 7.3.15 to 7.3.16
Updated by Vincent MEMBRÉ 5 months ago
- Target version changed from 7.3.16 to 7.3.17
Updated by François ARMAND 3 months ago
- Target version changed from 7.3.17 to 8.1.7
Updated by François ARMAND 3 months ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by François ARMAND 3 months ago
- Has duplicate Bug #22078: It's impossible to set a property on an intersection of groups if any two groups set a same property with different value added
Updated by François ARMAND 3 months ago
- Related to deleted (Bug #22078: It's impossible to set a property on an intersection of groups if any two groups set a same property with different value)
Updated by Alexis Mousset 3 months ago
- Subject changed from Group properties web page of a group of groups containing clonflicting properties are unaccessible to Group properties web page of a group of groups containing conflicting properties are unaccessible
Updated by François ARMAND 3 months ago
- File clipboard-202408221624-pd64d.png clipboard-202408221624-pd64d.png added
- File clipboard-202408221625-h5bi1.png clipboard-202408221625-h5bi1.png added
- File clipboard-202408221626-jtjtg.png clipboard-202408221626-jtjtg.png added
So, we have 0 property known on the intersection group.
If we add one, we have a success:
But then, when the refresh request comes, we don't have properties again:
And we do have it in the LDAP:
And API for the group returns it:
✦ [16:29:34]❯ curl -k -H "X-API-Token:dTxvl4eL8p3YqvwefVbaJLdy8DyEt7Vw" -H "Content-Type: application/json" -X GET 'http://localhost:8082/rudder-web/api/latest/groups/4e0c8aca-47f4-45b4-9b68-45b23ecafcde' | jq '.' { "action": "groupDetails", "id": "4e0c8aca-47f4-45b4-9b68-45b23ecafcde", ... "properties": [ { "name": "conflicting", "value": "plop" } ], ... }
But not the inherited one:
{ "action": "groupInheritedProperties", "id": "4e0c8aca-47f4-45b4-9b68-45b23ecafcde", "result": "success", "data": { "groups": [ { "groupId": "4e0c8aca-47f4-45b4-9b68-45b23ecafcde", "properties": [] } ] } }
So something is broken for inherited properties algo for that group.
Updated by François ARMAND 3 months ago · Edited
So, my screen etc were in the case where there is 0 node in the resulting group.
Because since in Group API, we check for the children node to check if there isn't any incompatibily (while on that case, we can just skip the check completely).
And when there is actually node, we get an error saying "that property is both in group A and group B with different values, you need to create a group to disambiguate" - which is exactly what the group is doing, so we need to understand why it says so.
This is likely due to the fact that the algo doesn't check if the current merge is done for a node or for a group. If we have that case for a node, it's a problem, but if it's for a group, it's a solution.
Finaly, the error is transmitted via API in JSON, but it's not displayed in the error notification.
Updated by Clark ANDRIANASOLO 3 months ago
- Has duplicate Bug #25154: Creating conflicting properties can break the server added
Updated by François ARMAND 3 months ago
- Related to Bug #24236: Overriding properties should have the same type as overridden added
Updated by François ARMAND 2 months ago
- Priority changed from N/A to 1 (highest)
Updated by Vincent MEMBRÉ 2 months ago
- Target version changed from 8.1.7 to 8.1.8
Updated by Clark ANDRIANASOLO about 2 months ago
- Related to Bug #25528: List node with properties inheritance error in status bar for generation added
Updated by François ARMAND about 1 month ago
- Status changed from In progress to New
- Target version changed from 8.1.8 to 8.2.0~rc1
This is solved in 8.2 thanks to the changes in properties computation and their error reporting, espacially: https://issues.rudder.io/issues/25219 https://issues.rudder.io/issues/25528.
I think we won't be able to correct it in 8.1, nor backport the changes, which are massives.
Updated by François ARMAND about 1 month ago
- Status changed from New to Resolved