Bug 995452

Summary: install.pl: easy to break input, especially in parts generating certs
Product: Red Hat Satellite 5 Reporter: Matej Kollar <mkollar>
Component: InstallerAssignee: Milan Zázrivec <mzazrivec>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 560CC: gerald.reid, tlestach
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-19 11:21:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 462714    

Description Matej Kollar 2013-08-09 12:07:01 UTC
Description of problem:

  install.pl reads input from stdin in very simple way (compared to say
  libreadline). This makes it easy to make a typo. This is unpleasant
  especially around part that obtains data for certificate.

  When you make typo and try to delete last entered character
  by pressing <Backspace>, symbol is inserted instead of deleting
  character. This leads to fail a moment later:

    ERROR: CA certificate failed to be inserted into the database

  Installation ends, and user is "forced" to re-run lengthy
  part of installation that he already passed (it will be
  shorter as system is already registered and packages are already
  installed, but it still takes time...).

Version-Release number of selected component (if applicable):


How reproducible: always/deterministic


Steps to Reproduce:
  1. run install.pl
  2. when asked about city (or some other field during cert part),
     pres <Backspace> or arrow keys during installation, try to continue
     normally.

Actual results:

  > ** SSL: Generating CA certificate.
  > ** SSL: Deploying CA certificate.
  > ** SSL: Generating server certificate.
  > ** SSL: Storing SSL certificates.
  > There was a problem storing the SSL certificate.  Exit value: 13.
  > Please examine /var/log/rhn/rhn_installation.log for more information.

and at the end of /var/log/rhn/rhn_installation.log are following lines:

  > Deploy the server's SSL key pair/set RPM:
  >     (NOTE: the Red Hat Satellite or Proxy installers may do this step for you.)
  >     The "noarch" RPM needs to be deployed to the machine working as a
  >     web server, or Red Hat Satellite, or Spacewalk Proxy.
  >     Presumably 'smqa-r210-06-vm05.lab.eng.brq.redhat.com'.
  > Preparing packages for installation...
  > rhn-org-httpd-ssl-key-pair-smqa-r210-06-vm05.lab.eng.brq-1.0-4
  > 
  > ERROR: no organization ID!?!
  > 
  > Exception reported from smqa-r210-06-vm05.lab.eng.brq.redhat.com
  > Time: Fri Aug  9 07:41:08 2013
  > Exception type <class 'spacewalk.satellite_tools.satCerts.CaCertInsertionError'>
  > 
  > Exception Handler Information
  > Traceback (most recent call last):
  >   File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/rhn_ssl_dbstore.py", line 79, in main
  >     satCerts.store_rhnCryptoKey(values.label, values.ca_cert, verbosity=values.verbose)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/satCerts.py", line 682, in store_rhnCryptoKey
  >     _lobUpdate_rhnCryptoKey(rhn_cryptokey_id, caCert)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/satCerts.py", line 650, in _lobUpdate_rhnCryptoKey
  >     cert, rhn_cryptokey_id=rhn_cryptokey_id)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/driver_postgresql.py", line 326, in update_blob
  >     apply(c.execute, (), kwargs)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/sql_base.py", line 163, in execute
  >     return apply(self._execute_wrapper, (self._execute, ) + p, kw)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/driver_postgresql.py", line 273, in _execute_wrapper
  >     retval = apply(function, p, kw)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/sql_base.py", line 217, in _execute
  >     return self._execute_(args, kwargs)
  >   File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/driver_postgresql.py", line 287, in _execute_
  >     self._real_cursor.execute(self.sql, params)
  > CaCertInsertionError: ERROR: CA certificate failed to be inserted into the database

Expected results:

  Input should either use some readline library or detect invalid input and
  re-ask for data.  It might be nice to ask for correctness confirmation at
  the end of entering cert-specific data, 

Additional info:

  This does not seem to be regression.

Comment 1 Gerald Reid 2014-03-06 22:35:26 UTC
I too have experienced this bug; I used the backspace in the organization and it prompted this error:

There was a problem storing the SSL certificate.  Exit value: 13.

After looking at the logs they are exactly the same!

Comment 3 Tomas Lestach 2017-07-19 11:21:55 UTC
We have re-reviewed this bug, as part of an ongoing effort to improve Satellite/Proxy feature and bug updates, review and backlog.

This is a low priority bug and has no currently open customer cases. While this bug may still valid, we do not see it being implemented prior to the EOL of the Satellite 5.x product. As such, this is being CLOSED DEFERRED. 

Closing now to help set customer expectations as early as possible. You are welcome to re-open this bug if needed.


Tomas