Univention Bugzilla – Bug 37595
S4 Jenkins master test fail since Bug #37467
Last modified: 2015-03-26 12:26:29 CET
After the S4 Jenkins master test has been adjusted (Bug #33110) to setup a CammelCase domain a couple of tests seem to break: http://jenkins.knut.univention.de:8080/job/UCS-4.0/job/UCS-4.0-0/job/Autotest%20MultiEnv/SambaVersion=s4,Systemrolle=master/120/ For example this one: http://jenkins.knut.univention.de:8080/job/UCS-4.0/job/UCS-4.0-0/job/Autotest%20MultiEnv/SambaVersion=s4,Systemrolle=master/lastCompletedBuild/testReport/52_s4connector/100sync_gpo_ntsecurity_descriptor/test/ Since only the S4 master and not the backup are affected this indicates that the CamelCase domainname causes the issues. We should check this and either derive product bugs from the test results (and errata-fix them) or fix the test cases.
*** Bug 37634 has been marked as a duplicate of this bug. ***
*** Bug 37635 has been marked as a duplicate of this bug. ***
10_ldap/55slapd-crash-1270: --set nestedGroup fails -> product bug 37632 51_samba4/43access_sysvol: Minor workaround (fixed) 51_samba4/51create_gpo: Minor workaround (fixed) 52_s4connector/100sync_gpo_ntsecurity_descriptor: product bug 37633 Remaining ucs-test cases that must be fixed via this Bug: 52_s4connector/107sync_groupmembership_ad_to_ucs 52_s4connector/156sync_ad_user_group_membership 52_s4connector/157sync_ad_user_primarygroup 52_s4connector/170sync_ad_move_user 52_s4connector/173sync_create_ucs_groups_nest_on_ad_side 52_s4connector/201read_initial_membership_ad_to_ucs 52_s4connector/256read_ad_user_group_membership 52_s4connector/257read_ad_user_primarygroup 52_s4connector/270read_ad_move_user
My first impression is that the 52_s4connector tests fail because the s4-connector actually doesn't handle DN case properly during sync, at least from S4 to UCS.
For attribute values that is.. uniqueMember in this case.
Yes, this seems to be a well known S4 Connector behaviour. Quoting from Bug 32768 Comment 6: Q: [...] the S4-Connector does not preserve the case of the member DNs. Maybe this is also a generic bug? A: No, that is not a new bug. The connector does this for group members only.
Created attachment 6675 [details] lowercase_dn.patch Some untested fixes for some of the connector tests.
Ok, maybe it's enough to fix the tests like that. Dmitry, could you do that?
(In reply to Arvid Requate from comment #8) > Ok, maybe it's enough to fix the tests like that. Dmitry, could you do that? It looks like the easy way to fix the tests is to actually modify the udm.sh test lib a bit, I see two options: 1. The function 'udm_verify_multi_value_udm_attribute_contains' calls 'verify_value_contains_line' inside, which can be changed instead to 'verify_value_contains_line_ignore_case'. This can potentially affect some other tests in '52_s4connector' or '55_adconnector', there are a lot and it will take too long to check each and look through the code. 2. A bit safer way is to write a function similar to 'udm_verify_multi_value_udm_attribute_contains' that would use the '_ignore_case' and change only the tests as specified in Comment 3 to use it. Tests from the Comment 3 pass with the proposed fix. So, which option we prefer?
Created attachment 6712 [details] udm.sh test lib patch (option 1)
(In reply to Dmitry Galkin from comment #9) > (In reply to Arvid Requate from comment #8) > > Ok, maybe it's enough to fix the tests like that. Dmitry, could you do that? > > It looks like the easy way to fix the tests is to actually modify the udm.sh > test lib a bit, I see two options: > > 1. The function 'udm_verify_multi_value_udm_attribute_contains' calls > 'verify_value_contains_line' inside, which can be changed instead to > 'verify_value_contains_line_ignore_case'. This can potentially affect some > other tests in '52_s4connector' or '55_adconnector', there are a lot and it > will take too long to check each and look through the code. No, it depends on the schema definition. We shouldn't ignore the case by default. > 2. A bit safer way is to write a function similar to > 'udm_verify_multi_value_udm_attribute_contains' that would use the > '_ignore_case' and change only the tests as specified in Comment 3 to use it. Yes, that would be better.
(In reply to Stefan Gohmann from comment #11) > Yes, that would be better. r58389: * 52_s4connector/257read_ad_user_primarygroup; 52_s4connector/270read_ad_move_user; 52_s4connector/256read_ad_user_group_membership; 52_s4connector/107sync_groupmembership_ad_to_ucs; 52_s4connector/157sync_ad_user_primarygroup; 52_s4connector/173sync_create_ucs_groups_nest_on_ad_side; 52_s4connector/170sync_ad_move_user; 52_s4connector/156sync_ad_user_group_membership; 52_s4connector/201read_initial_membership_ad_to_ucs: updated tests to work with CamelCase ldap/base (Bug #37595). r58388: * lib/udm.sh: added function 'udm_verify_multi_value_udm_attribute_contains' that is not case sensetive (Bug #37595).
(In reply to Arvid Requate from comment #3) > Remaining ucs-test cases that must be fixed via this Bug: > > 52_s4connector/107sync_groupmembership_ad_to_ucs > 52_s4connector/156sync_ad_user_group_membership > 52_s4connector/157sync_ad_user_primarygroup > 52_s4connector/170sync_ad_move_user > 52_s4connector/173sync_create_ucs_groups_nest_on_ad_side > 52_s4connector/201read_initial_membership_ad_to_ucs > 52_s4connector/256read_ad_user_group_membership > 52_s4connector/257read_ad_user_primarygroup > 52_s4connector/270read_ad_move_user Seems like there is one more? 52_s4connector.101sync_initial_membership_ad_to_ucs.test http://jenkins.knut.univention.de:8080/job/UCS-4.0/job/UCS-4.0-1/job/Autotest%20MultiEnv/22/SambaVersion=s4,Systemrolle=master/testReport/junit/52_s4connector/101sync_initial_membership_ad_to_ucs/test/
(In reply to Dmitry Galkin from comment #13) > Seems like there is one more? > 52_s4connector.101sync_initial_membership_ad_to_ucs.test Yes, please fix it as well.
(In reply to Stefan Gohmann from comment #14) > (In reply to Dmitry Galkin from comment #13) > > Seems like there is one more? > > 52_s4connector.101sync_initial_membership_ad_to_ucs.test > > Yes, please fix it as well. r59285: * 52_s4connector/101sync_initial_membership_ad_to_ucs: adjusted to work with CamelCase base DN (Bug #37595).
Ok, Jenkins result looks good.