On 28.3.2014 09:43, Martin Kosek wrote:
On 03/28/2014 09:37 AM, Petr Viktorin wrote:
On 03/27/2014 05:44 PM, Petr Spacek wrote:
On 27.3.2014 13:15, Martin Kosek wrote:
On 02/20/2014 03:56 PM, Martin Basti wrote:
On Thu, 2014-02-20 at 14:36 +0100, Petr Spacek wrote:
On 19.2.2014 17:55, Martin Basti wrote:
On Wed, 2014-02-19 at 17:10 +0100, Petr Spacek wrote:
On 19.2.2014 15:11, Petr Spacek wrote:
On 18.2.2014 17:34, Nathaniel McCallum wrote:
On Tue, 2014-02-18 at 17:06 +0100, Petr Viktorin wrote:
On 02/18/2014 04:45 PM, Petr Spacek wrote:
Hello,

Add wait_for_dns option to default.conf.

This option makes record changes in DNS tree synchronous.
IPA calls will wait until new data are visible over DNS protocol.

It is intended only for testing - it should prevent tests from
failing if there is bigger delay between change in LDAP and DNS.

I would recommend value like 10 seconds.

Here are a few Python nitpicks you requested.

Thank you very much. This new version solves problems you found +
adds proper
handling for real DNS timeouts.

It seems to me like a more general TimeoutError would be useful
in a
broader context. DNSTimeout seems overly narrow to me, unless I'm
missing something.

I would like to keep them separate. DNSTimeout shouldn't be
handled at all
because it means that your DNS server or database is dead or
broken in some
interesting way.

I assume that generic TimeoutError could be interpreted as 'try it
again'/'failover' or something like that.

Maybe the DNSTimeout is not the best name, I'm open to suggestions.

I have sent the old version with new name, gggrrr.

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Tests failed:
test_dns[92]: dnsrecord_add: Add A record to u'ns2' in zone
u'zone3.test' ... ok
     File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in
runTest
       self.test(*self.arg)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
291, in
<lambda>
       func = lambda: self.check(nice, **test)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
309, in
check
       self.check_output(nice, cmd, args, options, expected,
extra_check)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
348, in
check_output
       got = api.Command[cmd](*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 436, in __call__
       ret = self.run(*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 761, in run
       return self.forward(*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 782, in forward
       return self.Backend.rpcclient.forward(self.name, *args, **kw)
     File "/root/freeipa/ipalib/rpc.py", line 836, in forward
       return self._call_command(command, params)
     File "/root/freeipa/ipalib/rpc.py", line 813, in _call_command
       return command(*params)
     File "/root/freeipa/ipalib/rpc.py", line 951, in _call
       return self.__request(name, args)
     File "/root/freeipa/ipalib/rpc.py", line 945, in __request
       raise error_class(message=error['message'])
DNSTimeout: DNS query timeout: Expected {_kerberos.zone2.test.
86400 IN
TXT "IDM.LAB.ENG.BRQ.REDHAT.COM"} got {SERVFAIL}

======================================================================
ERROR: test_dns[51]: dnsrecord_add: Add NS+DNAME record to
u'zone2.test'
zone record using dnsrecord_add
----------------------------------------------------------------------
Traceback (most recent call last):
     File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in
runTest
       self.test(*self.arg)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
291, in
<lambda>
       func = lambda: self.check(nice, **test)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
309, in
check
       self.check_output(nice, cmd, args, options, expected,
extra_check)
     File "/root/freeipa/ipatests/test_xmlrpc/xmlrpc_test.py", line
348, in
check_output
       got = api.Command[cmd](*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 436, in __call__
       ret = self.run(*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 761, in run
       return self.forward(*args, **options)
     File "/root/freeipa/ipalib/frontend.py", line 782, in forward
       return self.Backend.rpcclient.forward(self.name, *args, **kw)
     File "/root/freeipa/ipalib/rpc.py", line 836, in forward
       return self._call_command(command, params)
     File "/root/freeipa/ipalib/rpc.py", line 813, in _call_command
       return command(*params)
     File "/root/freeipa/ipalib/rpc.py", line 951, in _call
       return self.__request(name, args)
     File "/root/freeipa/ipalib/rpc.py", line 945, in __request
       raise error_class(message=error['message'])
DNSTimeout: DNS query timeout: Expected {zone2.test. 86400 IN NS
ns1.dnszone.test.
zone2.test. 86400 IN NS ns1.zone2.test.} got {SERVFAIL}

configuration was: wait_for_dns=10

All tests passed without wait_for_dns option.

Sometimes at first run, I get only error and testing is interrupted.

I hope I covered all corner cases in this version.

I renamed DNSTimeout exception to DNSDataMismatch in hope that it
will be less
confusing.


A change in patch was required to pass doctest.
With this change ACK.
Updated patch attached.

This patch seems to be in limbo for more than one month now. Do I get
it right
that it is now clear to be pushed?

Is wait_for_dns enabled in our DNS test suite so that it is stable? Do
we want
it to be enabled?

Ah, good point. In meantime I have released bind-dyndb-ldap 4.x and
nobody complained

Let me do that then!

  about race conditions and mysterious errors in test
suite.

Sometimes (very rarely) there are some mysterious failures in the DNS tests.
They just don't get noticed too much because the ones from automember rebuild
are far more frequent.

Yes, I suspect they may be caused by the issue you tried to fix. I would really
like having our tests stable and not dependent on the right timing. Therefore,
if your patch makes that happen and is OK, I would prefer to merge it + enable
it for our test suite.

This patch was superseded by my patch 0017. I'm sorry for the confusion.

--
Petr^2 Spacek

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to