#6281 ipa-client-install should handle keyboard interrupt gracefully rather than throwing traceback.
Closed: wontfix 5 years ago by rcritten. Opened 7 years ago by mbasti.

Ticket was cloned from Red Hat Bugzilla (product Red Hat Enterprise Linux 7): Bug 1369027

Description of problem: ipa-replica-install should handle keyboard interrupt
gracefiully rather than throwing traceback.


Version-Release number of selected component (if applicable):
ipa-server-4.4.0-8.el7.x86_64

How reproducible: Always


Steps to Reproduce:
1. Install ipa-server.
2. Install replica server using the command

#ipa-replica-install -P admin -w Secret123

3. Try to do a Ctrl+C before the command is sucessfully completed.

Actual results: Traceback is thrown on the console.
    [root@replica ~]# ipa-replica-install
    Configuring client side components
    One of password / principal / keytab is required.
    Installation failed. Rolling back changes.
    IPA client is not configured on this system.
Removing client side components
^CTraceback (most recent call last):
File "/usr/sbin/ipa-client-install", line 43, in <module>
from ipaclient import ipadiscovery
File "/usr/lib/python2.7/site-packages/ipaclient/ipadiscovery.py", line 25, in
<module>
from dns import resolver, rdatatype
File "/usr/lib/python2.7/site-packages/dns/resolver.py", line 35, in <module>
import dns.message
File "/usr/lib/python2.7/site-packages/dns/message.py", line 27, in <module>
import dns.name
File "/usr/lib/python2.7/site-packages/dns/name.py", line 30, in <module>
import encodings.idna
File "/usr/lib64/python2.7/encodings/idna.py", line 7, in <module>
dots = re.compile(u"[\u002E\u3002\uFF0E\uFF61]")
File "/usr/lib64/python2.7/re.py", line 190, in compile
return _compile(pattern, flags)
File "/usr/lib64/python2.7/re.py", line 240, in _compile
p = sre_compile.compile(pattern, flags)
File "/usr/lib64/python2.7/sre_compile.py", line 505, in compile
code = _code(p, flags)
File "/usr/lib64/python2.7/sre_compile.py", line 490, in _code
_compile(code, p.data, flags)
File "/usr/lib64/python2.7/sre_compile.py", line 58, in _compile
_compile_charset(av, flags, code, fixup)
File "/usr/lib64/python2.7/sre_compile.py", line 184, in _compile_charset
for op, av in _optimize_charset(charset, fixup):
File "/usr/lib64/python2.7/sre_compile.py", line 227, in _optimize_charset
return _optimize_unicode(charset, fixup)
File "/usr/lib64/python2.7/sre_compile.py", line 307, in _optimize_unicode
charmap = [0]*65536
KeyboardInterrupt
ipa.ipapython.install.cli.install_tool(Replica): ERROR    The
ipa-replica-install command failed. See /var/log/ipareplica-install.log for
more information

Expected results: Handle keyboard interrupt for the command.

Additional info:

Metadata Update from @mbasti:
- Issue assigned to someone
- Issue set to the milestone: FreeIPA 4.5 backlog

7 years ago

The problem is actually in ipa-client-install which has no handling for Keyboard Interrupt.

Metadata Update from @rcritten:
- Issue close_status updated to: None

5 years ago

So I looked again. Basically we'd have to wrap the entire thing, imports and all, in a try/except KeyboardInterrupt to capture every possible catchable interrupt. IMHO it's not worth it. This is a rare event.

Metadata Update from @rcritten:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata