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
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
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)
Login to comment on this ticket.