Bug 1706822 - [engine-setup] Confusing message in engine-setup about installing local DBs manually
Summary: [engine-setup] Confusing message in engine-setup about installing local DBs m...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Setup.Engine
Version: 4.3.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-4.4.0
: ---
Assignee: Asaf Rachmani
QA Contact: Guilherme Santos
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-06 10:57 UTC by Steve Goodman
Modified: 2020-05-20 20:03 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-20 20:03:17 UTC
oVirt Team: Integration
Embargoed:
pm-rhel: ovirt-4.4?
sbonazzo: planning_ack?
sbonazzo: devel_ack+
lleistne: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 100162 0 master MERGED packaging: setup: fix confusing message in engine-setup 2020-04-23 13:03:04 UTC

Description Steve Goodman 2019-05-06 10:57:44 UTC
Description of problem:
In engine-setup, the ATTENTION for manually installing local databases is confusing.

It's not clear if the ATTENTION (see below) is talking about the engine database, or the ovirt_engine_history (i.e. Data Warehouse) database. It appears immediately following the prompt asking about configuring the engine database, but the example in shows is for the Data Warehouse database (ovirt_engine_history)

And at the end of the message it says: "Make sure that database can be accessed remotely."

But I'm installing locally. So I don't know what to do here...

How reproducible:
100%


Steps to Reproduce:
1. Create local databases: "engine" and "ovirt_engine_history" on machine x.
2. Install RHVM on the same machine (machine x) and run engine-setup.

Actual results:

--== DATABASE CONFIGURATION ==--
         
          Where is the DWH database located? (Local, Remote) [Local]: 
          Setup can configure the local postgresql server automatically for the DWH to run. This may conflict with existing applications.
          Would you like Setup to automatically configure postgresql and create DWH database, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Manual
          Where is the Engine database located? (Local, Remote) [Local]: 
          Setup can configure the local postgresql server automatically for the engine to run. This may conflict with existing applications.
          Would you like Setup to automatically configure postgresql and create Engine database, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Manual
         
          ATTENTION
         
          Manual action required.
          Please create database for ovirt-engine use. Use the following commands as an example:
         
          create role ovirt_engine_history with login encrypted password '<password>';
          create database ovirt_engine_history owner ovirt_engine_history
           template template0
           encoding 'UTF8' lc_collate 'en_US.UTF-8'
           lc_ctype 'en_US.UTF-8';
         
          Make sure that database can be accessed remotely.


Expected results:

ATTENTION
         
          Manual action required.
          Please create the database for the <change>engine</change> to use. Use the following 
commands as an example:
         
          <change>create role engine with login encrypted password '<password>';
          create database engine owner engine</change>
           template template0
           encoding 'UTF8' lc_collate 'en_US.UTF-8'
           lc_ctype 'en_US.UTF-8';

<DELETE>          Make sure that database can be accessed remotely.</DELETE>

Comment 1 Yedidyah Bar David 2019-05-07 06:23:34 UTC
I agree that this text requires some refinement, I think it was never reviewed in itself. I guess the assumption is that if you say "manually", it means you should know what you do.

Specific points:

1. The text "Please create database for ovirt-engine use" is hard-coded. Perhaps we should replace "ovirt-engine" here with "oVirt". The function that outputs this also gets a "name", which is 'Engine' for the engine (not localized, currently) and 'DWH' for dwh. Also, if you choose to configure cinderlib integration, you get a third set of questions for its database - there, name is 'Cinderlib'. So perhaps:

Please create a database for use by oVirt

or 

Please create a database for use by oVirt, for '{name}' (where {name} will be 'Engine', 'DWH', 'Cinderlib')

or, if you want the text you suggested in comment 0,

Please create the database for the {name} to use

So:

Please create the database for the Engine to use
Please create the database for the DWH to use
Please create the database for the Cinderlib to use

Not sure this is very nice, but also dropping 'the' isn't that nice. Suggestions are welcome...

2. Personally I'd drop 'ATTENTION' and 'Manual action required'. Not sure why we added that.

3. Re "Make sure that database can be accessed remotely.": I don't mind that much about this, can be dropped, as long as we properly document _when_ it should be (accessed remotely) and how. The original reason, AFAIR, for adding this text, was for integration of DWH with ManageIQ (CloudForms). If you want that, you have to make the DWH database accessible for ManageIQ.

Also, if there isn't anything specific to RHV about this bug, perhaps move it to oVirt.

Comment 2 Steve Goodman 2019-05-15 13:44:51 UTC
(In reply to Yedidyah Bar David from comment #1)
 
> Specific points:
> 
> 1. The text "Please create database for ovirt-engine use" is hard-coded.
> Perhaps we should replace "ovirt-engine" here with "oVirt". 

That's better than what's there right now.


> that outputs this also gets a "name", which is 'Engine' for the engine (not
> localized, currently) and 'DWH' for dwh. Also, if you choose to configure
> cinderlib integration, you get a third set of questions for its database -
> there, name is 'Cinderlib'. So perhaps:
> 
> Please create a database for use by oVirt
> 
> or 
> 
> Please create a database for use by oVirt, for '{name}' (where {name} will
> be 'Engine', 'DWH', 'Cinderlib')
> 
> or, if you want the text you suggested in comment 0,
> 
> Please create the database for the {name} to use
> 
> So:
> 
> Please create the database for the Engine to use
> Please create the database for the DWH to use
> Please create the database for the Cinderlib to use
> 
> Not sure this is very nice, but also dropping 'the' isn't that nice.
> Suggestions are welcome...

Those are all helpful hints and would allay confusion.

> 2. Personally I'd drop 'ATTENTION' and 'Manual action required'. Not sure
> why we added that.

I agree with you. No real value added.
 
> 3. Re "Make sure that database can be accessed remotely.": I don't mind that
> much about this, can be dropped, as long as we properly document _when_ it
> should be (accessed remotely) and how. The original reason, AFAIR, for
> adding this text, was for integration of DWH with ManageIQ (CloudForms). If
> you want that, you have to make the DWH database accessible for ManageIQ.

I'm not sure what to say here. I know what I was trying to do when I saw this message and found it confusing. I don't know in what other scenarios this might be viewed, and if it would be helpful in other scenarios. I'm in favor of providing helpful text directly in the UI (including terminal UIs like this). Maybe it would be helpful to add some context to what's there already, i.e. "If x, y, or z is true, then make sure that database can be accessed remotely."

> Also, if there isn't anything specific to RHV about this bug, perhaps move
> it to oVirt.

I'll leave it to you guys to move this as you see fit.

Comment 3 Steve Goodman 2019-05-22 12:33:14 UTC
In response to comments in Gerrit:


------------------------------------------------------------------

Instead of "Use the following commands as an example" I suggest the following (consistent with the documentation):

To create a default user: 

create role <user_name> with login encrypted password '<password>';

To create a database: 

create database <database_name> owner <user_name> template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';


---------------------------------------------------------------------

For me, the notation <user> is clear enough, I don't think adding "Replace <user> with the user name can hurt, but I don't think it's necessary.

--------------------------------------------------------------------

Comment 4 Guilherme Santos 2020-01-02 21:35:26 UTC
Verified on:
ovirt-engine-setup-4.4.0-0.13.master.el7.noarch

Steps:
1. Run engine-setup
2. When prompted where DWH and Database should be located choose 'Local'
3. When prompted how DWH and Database should be configured choose 'Manual'

Results:
Following expected message prompted:

          Please create the database for the DWH to use.
          To create a user:
          postgres=# create role <user_name> with login encrypted password '<password>';
          To create a database:
          postgres=# create database <database_name> owner <user_name> template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
         
          If you plan for a remote application to use this database, make sure it can be accessed remotely.

Comment 5 Sandro Bonazzola 2020-05-20 20:03:17 UTC
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020.

Since the problem described in this bug report should be
resolved in oVirt 4.4.0 release, it has been closed with a resolution of CURRENT RELEASE.

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


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