Bug 1156040

Summary: reports upgrade on separate host asks again dwh db credentials
Product: Red Hat Enterprise Virtualization Manager Reporter: Shirly Radco <sradco>
Component: ovirt-engine-reportsAssignee: Yedidyah Bar David <didi>
Status: CLOSED ERRATA QA Contact: Petr Matyáš <pmatyas>
Severity: high Docs Contact:
Priority: high    
Version: 3.5.0CC: bugs, didi, ecohen, gklein, iheim, lsurette, movciari, rbalakri, Rhev-m-bugs, sbonazzo, scohen, yeylon, ylavi
Target Milestone: ---   
Target Release: 3.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: integration
Fixed In Version: vt10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1118322 Environment:
Last Closed: 2015-02-11 18:18:33 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:
Bug Depends On: 1118322    
Bug Blocks: 1147536, 1164308, 1164311    

Description Shirly Radco 2014-10-23 12:56:24 UTC
+++ This bug was initially created as a clone of Bug #1118322 +++

Description of problem:

When Reports is setup on a separate host we ask for engine/dwh db credentials. Running again (e.g. for upgrade) asks again.

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

Current master

How reproducible:

Always

Steps to Reproduce:
1. Setup engine and dwh
2. Setup Reports on a separate host
3. Run engine-setup again on the Reports host

Actual results:

Asks again for engine/dwh credentials

Expected results:

Does not ask for engine/dwh credentials

Additional info:

Engine keeps its credentials in /etc/ovirt-engine/engine.conf.d/10-setup-database.conf .
DWH keeps both its own credentials and the engine's in /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf .

Reports does not keep db credentials in a similar file. Instead, it creates a temporary jasperreports conf dir and deploys it. This causes jasper to generate various different configuration files, under /var/lib/ovirt-engine-reports , many of which contain its own db credentials. On upgrade (next run of engine-setup), we read a specific one of them, /var/lib/ovirt-engine-reports/build-conf/master.properties , and therefore do not need to ask for them again.

DWH db creds are not saved by reports in any conf file, but are saved in the reports db in the table jijdbcdatasource (in a not-trivial-to-parse format).

Engine db creds are not saved anywhere, and are actually currently used only for updating the vdc_option table on the engine - so we might decide to not ask them at all and tell the user to update it with engine-config.

A minimal solution is to stop asking for engine creds and tell the user to run engine-config, and to read jijdbcdatasource for the dwh creds. A better (imo?) solution might be to create a new file /etc/ovirt-engine-reports/ovirt-engine-reports.d/10-setup-database.conf, keep there all credentials, and also use it for reports (instead of master.properties) - this will also allow refactoring the existing functions that read (and write?) these credentials to a single common function and simple wrappers for each component.

Comment 4 errata-xmlrpc 2015-02-11 18:18:33 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, 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://rhn.redhat.com/errata/RHEA-2015-0176.html