Bug 1855351 - Inconsistent Installer reactions to Ctrl-C during user input process
Summary: Inconsistent Installer reactions to Ctrl-C during user input process
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 4.6
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: 4.7.0
Assignee: Patrick Dillon
QA Contact: To Hung Sze
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-09 15:31 UTC by To Hung Sze
Modified: 2021-02-24 15:15 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: how we handled errors from survey library was inconsistent. Consequence: users would see different errors, if they performed an interrupt while using the installer survey. Fix: handle all errors from survey uniformly. Result: error messages are consistent when users perform interrupts.
Clone Of:
Environment:
Last Closed: 2021-02-24 15:13:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift installer pull 4334 0 None closed Bug 1855351: Handle CTRL+C in GCP survey 2021-01-11 15:53:32 UTC
Github openshift installer pull 4360 0 None closed Bug 1855351: standardize interrupt error messages 2021-01-11 15:53:32 UTC
Red Hat Product Errata RHSA-2020:5633 0 None None None 2021-02-24 15:15:16 UTC

Description To Hung Sze 2020-07-09 15:31:37 UTC
Description of problem:
Installer reacts to user pressing Ctrl-C differently depending on where the user is at during the user input phase.

Steps to Reproduce:
1. Start the installer
2. In each user input stage, try pressing Ctrl-C.

Actual results:
For most input (like ssh key, Platform), the installer immediately exit while displaying an error (correct)

However, when user is at 
Project ID - installer advances to region
Region - installer advances to Base Domain

Is there a reason for it?

Expected results:
Installer reacts consistently to Ctrl-C at all stages during user input.

Comment 4 Abhinav Dahiya 2020-10-12 17:25:09 UTC
Will try to fix this bug, this one is a cosmetic change so a little low in priority, will try to fix is as soon as we can hopefully next sprint.

Comment 7 To Hung Sze 2020-11-04 19:21:55 UTC
Confirm with openshift-install-linux-4.7.0-0.nightly-2020-11-04-114206 at every stage of the installer getting user input, a single Ctrl-C quits the program with messages like


FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "SSH Key": failed UserInput for SSH public key: interrupt

FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Base Domain": failed UserInput for base domain: interrupt

FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Cluster Name": interrupt

FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Pull Secret": interrupt


@padillon
Is there a reason "failed UserInput" isn't quoted as reason in all stages as well as "generate asset" vs "generate asset" (for consistency)?

Thanks.

Comment 8 Patrick Dillon 2020-11-09 15:58:33 UTC
(In reply to To Hung Sze from comment #7)

> Is there a reason "failed UserInput" isn't quoted as reason in all stages as
> well as "generate asset" vs "generate asset" (for consistency)?

No, there is not a reason. It is just inconsistent. I will create another pr to standardize. 

I don't understand the issue about "generate asset". Is there a discrepency?

Comment 9 To Hung Sze 2020-11-09 16:07:43 UTC
Thanks for the feedback.
I made a typo and confused you.
I was referring to:
'failed to fetch dependency of "Base Domain"' for platform which is different from all other error msgs with 'failed to generate asset "Base Domain"'

Comment 10 Patrick Dillon 2020-11-09 19:27:13 UTC
How do you reproduce the error message: "
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

If it is not related to the CTRL C interrupt it is ok.

Comment 11 Patrick Dillon 2020-11-09 19:40:24 UTC
(In reply to Patrick Dillon from comment #10)
> How do you reproduce the error message: "
> FATAL failed to fetch Install Config: failed to fetch dependency of "Install
> Config": failed to fetch dependency of "Base Domain": failed to generate
> asset "Platform": interrupt
> 
> If it is not related to the CTRL C interrupt it is ok.

Nevermind, I see that there are separate base domains from different platforms.

Comment 12 To Hung Sze 2020-11-09 19:52:15 UTC
Ctrl-C when the installer is prompting for Platform (aws / azure etc):
DEBUG     Generating Platform...                   
? Platform  [Use arrows to move, enter to select, type to filter, ? for more help]
> aws
  azure
  gcp
  openstack
  ovirt
  vsphere
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

Comment 13 Patrick Dillon 2020-11-09 20:10:17 UTC
Created: 
https://github.com/openshift/installer/pull/4360

Comment 15 To Hung Sze 2020-11-23 20:57:43 UTC
Tried with 11-23-074526:

ssh-key:                                                                                                                        
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "SSH Key": failed UserInput: interrupt

platform (AWS vsAzure etc)                                                                                                                       
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

Project:
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

Regions
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt


Domain:
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Base Domain": failed UserInput: interrupt 

Cluster Name:
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Cluster Name": failed UserInput: interrupt

Pull Secret:
FATAL failed to fetch Install Config: failed to fetch dependency of "Install Config": failed to generate asset "Pull Secret": failed UserInput: interrupt

Comment 16 To Hung Sze 2020-11-23 20:59:22 UTC
The three:
failed to fetch dependency of "Base Domain": failed to generate asset "Platform": interrupt

are deemed part of "platform" and not worth the effort to further differentiate.

closing.

Comment 19 errata-xmlrpc 2021-02-24 15:13:57 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:5633


Note You need to log in before you can comment on or make changes to this bug.