Project

General

Profile

Actions

Bug #22077

closed

Group properties web page of a group of groups containing conflicting properties are unaccessible

Added by Félix DALLIDET about 2 years ago. Updated 2 months ago.

Status:
Resolved
Priority:
1 (highest)
Category:
Web - Config management
Target version:
Severity:
Major - prevents use of part of Rudder | no simple workaround
UX impact:
I dislike using that feature
User visibility:
Infrequent - complex configurations | third party integrations
Effort required:
Priority:
54
Name check:
To do
Fix check:
To do
Regression:
No

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.

There is no good reason to make it unavailable as the following could be a pretty common scenario:
Let's have 3 groups: AWS, Production and 'Production in AWS'.
  1. Let's define a 'exception' property in the 'Production in AWS'
  2. Now let's define a 'test' property in the AWS one
  3. 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

Related issues 4 (0 open4 closed)

Related to Rudder - Bug #24236: Overriding properties should have the same type as overriddenReleasedFrançois ARMANDActions
Related to Rudder - Bug #25528: List node with properties inheritance error in status bar for generationReleasedFrançois ARMANDActions
Has duplicate Rudder - Bug #22078: It's impossible to set a property on an intersection of groups if any two groups set a same property with different valueRejectedActions
Has duplicate Rudder - Bug #25154: Creating conflicting properties can break the serverReleasedActions
Actions #2

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
Actions #3

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 7.1.8 to 7.1.9
Actions #4

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 7.1.9 to 7.1.10
Actions #5

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 7.1.10 to 1016
  • Priority changed from 65 to 63
Actions #6

Updated by Alexis Mousset almost 2 years ago

  • Target version changed from 1016 to 7.2.5
  • Priority changed from 63 to 62
Actions #7

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 7.2.5 to 7.2.6
Actions #8

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
Actions #9

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 7.2.7 to 7.2.8
Actions #10

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
Actions #11

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 7.2.9 to 7.2.10
Actions #12

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
Actions #13

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 7.2.11 to 1046
  • Priority changed from 57 to 56
Actions #14

Updated by Alexis Mousset about 1 year ago

  • Target version changed from 1046 to 7.3.8
  • Priority changed from 56 to 55
Actions #15

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
Actions #16

Updated by Vincent MEMBRÉ about 1 year ago

  • Target version changed from 7.3.9 to 7.3.10
Actions #17

Updated by Vincent MEMBRÉ about 1 year ago

  • Target version changed from 7.3.10 to 7.3.11
Actions #18

Updated by Vincent MEMBRÉ 11 months ago

  • Target version changed from 7.3.11 to 7.3.12
Actions #19

Updated by Vincent MEMBRÉ 10 months ago

  • Target version changed from 7.3.12 to 7.3.13
Actions #20

Updated by Vincent MEMBRÉ 10 months ago

  • Target version changed from 7.3.13 to 7.3.14
Actions #21

Updated by Vincent MEMBRÉ 8 months ago

  • Target version changed from 7.3.14 to 7.3.15
Actions #22

Updated by Vincent MEMBRÉ 7 months ago

  • Target version changed from 7.3.15 to 7.3.16
Actions #23

Updated by Vincent MEMBRÉ 6 months ago

  • Target version changed from 7.3.16 to 7.3.17
Actions #24

Updated by François ARMAND 4 months ago

  • Target version changed from 7.3.17 to 8.1.7
Actions #25

Updated by François ARMAND 4 months ago

  • Status changed from New to In progress
  • Assignee set to François ARMAND
Actions #26

Updated by François ARMAND 4 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
Actions #27

Updated by François ARMAND 4 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)
Actions #28

Updated by Alexis Mousset 4 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 4 months ago

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.

Actions #30

Updated by François ARMAND 4 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.

Actions #31

Updated by Clark ANDRIANASOLO 4 months ago

  • Has duplicate Bug #25154: Creating conflicting properties can break the server added
Actions #32

Updated by François ARMAND 4 months ago

  • Related to Bug #24236: Overriding properties should have the same type as overridden added
Actions #33

Updated by François ARMAND 4 months ago

  • Subtask #25419 added
Actions #34

Updated by François ARMAND 3 months ago

  • Priority changed from N/A to 1 (highest)
Actions #35

Updated by Vincent MEMBRÉ 3 months ago

  • Target version changed from 8.1.7 to 8.1.8
Actions #36

Updated by Clark ANDRIANASOLO 3 months ago

  • Related to Bug #25528: List node with properties inheritance error in status bar for generation added
Actions #37

Updated by François ARMAND 2 months 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.

Actions #38

Updated by François ARMAND 2 months ago

  • Subtask deleted (#25419)
Actions #39

Updated by François ARMAND 2 months ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF