| |
@@ -343,6 +343,8 @@
|
| |
m2 = topo_tls_ldapi.ms["master2"]
|
| |
attr_m1 = "m1_inconsistency"
|
| |
attr_m2 = "m2_inconsistency"
|
| |
+ attr_first = "first ordered valued"
|
| |
+ attr_second = "second ordered valued"
|
| |
attr_m1_only = "123123123"
|
| |
|
| |
try:
|
| |
@@ -355,6 +357,9 @@
|
| |
user_m1.set("description", attr_m1)
|
| |
user_m2.set("description", attr_m2)
|
| |
user_m1.set("telephonenumber", attr_m1_only)
|
| |
+ # Add the same multi-valued attrs, but out of order
|
| |
+ user_m1.set("cn", [attr_first, attr_second])
|
| |
+ user_m2.set("cn", [attr_second, attr_first])
|
| |
time.sleep(2)
|
| |
|
| |
for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
|
| |
@@ -362,12 +367,16 @@
|
| |
assert attr_m1 in result
|
| |
assert attr_m2 in result
|
| |
assert attr_m1_only in result
|
| |
+ assert attr_first not in result
|
| |
+ assert attr_second not in result
|
| |
# Ignore some attributes and check the output
|
| |
tool_cmd.extend(['-i', '{},{}'.format('description', 'telephonenumber')])
|
| |
result = subprocess.check_output(tool_cmd, encoding='utf-8').lower()
|
| |
assert attr_m1 not in result
|
| |
assert attr_m2 not in result
|
| |
assert attr_m1_only not in result
|
| |
+ assert attr_first not in result
|
| |
+ assert attr_second not in result
|
| |
|
| |
finally:
|
| |
topo_tls_ldapi.resume_all_replicas()
|
| |
Bug Description:
If for some reason an entry's multi-valued attribute values are in different orders on different replicas the tool reports this as an inconsistency when it is not.
Fix Description:
For both offline & online processing sort each entry's multi-valued attribute values.
https://pagure.io/389-ds-base/issue/50363