On (07/04/16 09:20), Lukas Slebodnik wrote:
>On (06/04/16 18:44), Jakub Hrozek wrote:
>>On Tue, Mar 15, 2016 at 04:47:50PM +0100, Lukas Slebodnik wrote:
>>> ehlo,
>>> 
>>> There were failures[1] on rhel6 machine with latest packages.
>>> it took me a while to find out which package cuaed it.
>>> Therefore I downgraded rhel machine to vanilla rhel6.7
>>> and I was troubleshooting it on different machine.
>>> 
>>> The failures of test_ipa_subdom_server are caused by fixing
>>> memory leak in krb5[2]. BTW there is also plan to fix it in rhel7[3]
>>> 
>>> sh$ time libtool --mode=execute ./test_ipa_subdom_server
>>> 
>>> enabled/permissive SELinux
>>> real    0m7.976s
>>> user    0m6.680s
>>> sys     0m0.189s
>>> 
>>> disabled SELinux
>>> real    0m2.111s
>>> user    0m0.071s
>>> sys     0m0.043s
>>> 
>>> valgrind + enabled/permissive SELinux //but test failed.
>>> real    2m7.310s
>>> user    2m17.080s
>>> sys     0m0.786s
>>> 
>>> valgrind + disabled SELinux
>>> real    0m5.510s
>>> user    0m3.396s
>>> sys     0m0.309s
>>> 
>>> Attached patch "emulates" disabled SELinux.
>>> If we do not want to do that for unit test than we need to increase
>>> few timeouts.
>>> diff --git a/src/providers/ipa/ipa_subdomains_server.c 
>>> b/src/providers/ipa/ipa_subdomains_server.c
>>> index f279efc..7d8b3d3 100644
>>> --- a/src/providers/ipa/ipa_subdomains_server.c
>>> +++ b/src/providers/ipa/ipa_subdomains_server.c
>>> @@ -124,7 +124,7 @@ const char *ipa_trust_dir2str(uint32_t direction)
>>>  }
>>> 
>>>  #ifndef IPA_GETKEYTAB_TIMEOUT
>>> -#define IPA_GETKEYTAB_TIMEOUT 15
>>> +#define IPA_GETKEYTAB_TIMEOUT 5
>>>  #endif /* IPA_GETKEYTAB_TIMEOUT */
>>> 
>>>  static struct ad_options *
>>> diff --git a/src/tests/cmocka/test_ipa_subdomains_server.c 
>>> b/src/tests/cmocka/test_ipa_subdomains_server.c
>>> index d1e0945..3c40f04 100644
>>> --- a/src/tests/cmocka/test_ipa_subdomains_server.c
>>> +++ b/src/tests/cmocka/test_ipa_subdomains_server.c
>>> @@ -508,7 +508,7 @@ static void test_ipa_server_trust_init(void **state)
>>>      ret = ipa_ad_subdom_init(test_ctx->be_ctx, test_ctx->ipa_ctx);
>>>      assert_int_equal(ret, EOK);
>>> 
>>> -    tv = tevent_timeval_current_ofs(15, 0);
>>> +    tv = tevent_timeval_current_ofs(1, 0);
>>>      timeout_handler = tevent_add_timer(test_ctx->tctx->ev, test_ctx, tv,
>>>                                         ipa_server_init_done, test_ctx);
>>>      assert_non_null(timeout_handler);
>>> @@ -849,7 +849,7 @@ static void test_ipa_server_trust_oneway_init(void 
>>> **state)
>>>      ret = ipa_ad_subdom_init(test_ctx->be_ctx, test_ctx->ipa_ctx);
>>>      assert_int_equal(ret, EOK);
>>> 
>>> -    tv = tevent_timeval_current_ofs(15, 0);
>>> +    tv = tevent_timeval_current_ofs(1, 0);
>>>      timeout_handler = tevent_add_timer(test_ctx->tctx->ev, test_ctx, tv,
>>>                                         ipa_server_init_done, test_ctx);
>>>      assert_non_null(timeout_handler);
>>> 
>>> 
>>> Lower values caused intermittent failures.
>>> 
>>> Here are execution times after changing timeouts.
>>> 
>>> valgrind + enabled/permissive SELinux
>>> real    3m5.812s
>>> user    2m59.929s
>>> sys     0m1.071s
>>> 
>>> valgrind + disabled SELinux
>>> real    0m33.541s
>>> user    0m3.392s
>>> sys     0m0.322s
>>> 
>>> disabled SELinux
>>> real    0m30.134s
>>> user    0m0.069s
>>> sys     0m0.040s
>>> 
>>> enabled/permissive SELinux
>>> real    0m36.014s
>>> user    0m6.768s
>>> sys     0m0.155s
>>> 
>>> LS
>>> 
>>> [1] http://sssd-ci.duckdns.org/logs/job/39/10/summary.html
>>> [2] https://bugzilla.redhat.com/show_bug.cgi?id=1311287
>>> [3] https://bugzilla.redhat.com/show_bug.cgi?id=1313457
>>
>>> From 90516358f0a87f7f35dc60e9cb7006f97ff578bd Mon Sep 17 00:00:00 2001
>>> From: Lukas Slebodnik <lsleb...@redhat.com>
>>> Date: Tue, 15 Mar 2016 16:14:23 +0100
>>> Subject: [PATCH] test_ipa_subdom_server: Workaround for slow krb5 + SELinux
>>> 
>>
>>> diff --git a/src/tests/cmocka/test_ipa_subdomains_server.c 
>>> b/src/tests/cmocka/test_ipa_subdomains_server.c
>>> index 
>>> 3c40f04e3712b22ffc497e08a5b8f38921f4b8b1..0fddc951894dee45658497851473b9bddbba0ef7
>>>  100644
>>> --- a/src/tests/cmocka/test_ipa_subdomains_server.c
>>> +++ b/src/tests/cmocka/test_ipa_subdomains_server.c
>>> @@ -69,6 +69,26 @@
>>>  
>>>  static bool global_rename_called;
>>>  
>>> +#ifdef HAVE_SELINUX
>>> +/* Provide faster implementation of kerberos function
>>> + * krb5int_labeled_[f]?open. Real functions take care also
>>> + * about SELinux context which is very expensive operation
>>> + * and cause failures due to timeout when executing with valgrind.
>>> + * It's approximately 40 times slower with real function
>>> + */
>>> +FILE *
>>> +krb5int_labeled_fopen(const char *path, const char *mode)
>>> +{
>>> +    return fopen(path, mode);
>>> +}
>>> +
>>> +int
>>> +krb5int_labeled_open(const char *path, int flags, mode_t mode)
>>> +{
>>> +    return open(path, flags, mode);
>>> +}
>>> +#endif /* HAVE_SELINUX */
>>> +
>>
>>This patch seems to work in CI and I don't think we need that specific
>>functionality in tests, so ACK.
>>
>>CI: http://sssd-ci.duckdns.org/logs/job/40/80/summary.html
>Thank you very much for review.
>Now we can upgrade testing machine from rhel6.7 to rhel6.8
>
master:
* 1510d1264b44c437b8270e0a5a239e8624933c3d

sssd-1-13:
* 67a485deee450a4bc7c48af23a8f851f2e7960f8

LS
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to