Bug 32050 - DNS timeout when opening school installer prevents installing UCS@school
DNS timeout when opening school installer prevents installing UCS@school
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - Installer
UCS@school 3.1 R2
Other Linux
: P5 normal (vote)
: UCS@school 3.2 R2 Errata
Assigned To: Florian Best
Sönke Schwardt-Krummrich
:
: 35869 (view as bug list)
Depends on:
Blocks: 37763
  Show dependency treegraph
 
Reported: 2013-07-24 11:57 CEST by Janis Meybohm
Modified: 2015-02-27 15:18 CET (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Error handling, External feedback, Usability
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2013-07-24 11:57:36 CEST
Ticket#2013072321001826

If the DNS-Lookup for the DC-Master fails, the UMC configuration wizard reports:

---
UCS@school can only be installed on the system roles master domain controller, backup domain controller, or slave domain controller.
---

==> /var/log/univention/management-console-module-schoolinstaller.log <==
24.07.13 11:55:33.165  MODULE      ( PROCESS ) : Execution of command 'schoolinstaller/query' has failed:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 204, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 282, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 384, in _response
    for res in function(self, iterator, *nones):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 266, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py", line 468, in query
    'guessed_master': get_master_dns_lookup(),
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py", line 152, in get_master_dns_lookup
    result = dns.resolver.query(query, 'SRV')
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 732, in query
    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 608, in query
    timeout = self._compute_timeout(start)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 541, in _compute_timeout
    raise Timeout
Timeout


==> /var/log/univention/management-console-web-server.log <==
24.07.13 11:55:33.167  MAIN        ( PROCESS ) : CPCommand (172.25.10.250:38457) response status code: 591
24.07.13 11:55:33.168  MAIN        ( PROCESS ) : CPCommand (172.25.10.250:38457) response message: Execution of command 'schoolinstaller/query' has failed:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 204, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 282, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 384, in _response
    for res in function(self, iterator, *nones):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 266, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py", line 468, in query
    'guessed_master': get_master_dns_lookup(),
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py", line 152, in get_master_dns_lookup
    result = dns.resolver.query(query, 'SRV')
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 732, in query
    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 608, in query
    timeout = self._compute_timeout(start)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 541, in _compute_timeout
    raise Timeout
Timeout

24.07.13 11:55:33.168  MAIN        ( PROCESS ) : CPCommand (172.25.10.250:38457) response result: None
Comment 1 Florian Best univentionstaff 2014-07-07 10:25:17 CEST
(In reply to Janis Meybohm from comment #0)
> Ticket#2013072321001826
> 
> If the DNS-Lookup for the DC-Master fails, the UMC configuration wizard
> reports:
> 
> ---
> UCS@school can only be installed on the system roles master domain
> controller, backup domain controller, or slave domain controller.
> ---
Well, I doubt that. If a traceback occurs it will be displayed in the frontend. The above error message could come from another request.

Nevertheless, we received a similar traceback from the same code path:

Die Ausführung des Kommandos schoolinstaller/query ist fehlgeschlagen:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py",
line 204, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 305, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 432, in _response
    for res in function(self, iterator, *nones):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 271, in _fake_func
    yield function(self, *args)
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py",
line 480, in query
    'guessed_master': get_master_dns_lookup(),
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolinstaller/__init__.py",
line 154, in get_master_dns_lookup
    result = dns.resolver.query(query, 'SRV')
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 732, in query
    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 672, in query
    answer = Answer(qname, rdtype, rdclass, response)
  File "/usr/lib/pymodules/python2.6/dns/resolver.py", line 121, in __init__
    raise NoAnswer
NoAnswer
Comment 2 Florian Best univentionstaff 2014-12-08 11:55:31 CET
*** Bug 35869 has been marked as a duplicate of this bug. ***
Comment 3 Florian Best univentionstaff 2014-12-08 11:56:39 CET
(In reply to Florian Best from comment #2)
> *** Bug 35869 has been marked as a duplicate of this bug. ***
Using TM from that bug.

Received again 3.2-3 errata241 (Borgfeld)
Comment 4 Florian Best univentionstaff 2015-02-05 10:34:25 CET
All DNS related exceptions are now catched. The timeout of a DNS query has been reduced to 3 seconds to not block the module loading.
Fix: svn r57788
Comment 5 Florian Best univentionstaff 2015-02-10 13:46:06 CET
merged to UCS@school 3.2
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2015-02-25 16:28:37 CET
OK: debian changelog entry
OK: XML changelog entry
OK: package is built
OK: code change

ucs-school-umc-installer 2.0.20-1.71.201502251256
Comment 7 Sönke Schwardt-Krummrich univentionstaff 2015-02-27 15:18:33 CET
UCS@school 3.2 R2 v3 has been released:
http://docs.univention.de/release-notes-ucsschool-3.2R2v3-de.html

If this error occurs again, please use "Clone This Bug".