Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1066598

Summary: [engine-setup] populating remote DB fails and engine-setup uninstalles ovirt-engine-dwh
Product: [Retired] oVirt Reporter: Jiri Belka <jbelka>
Component: ovirt-engine-installerAssignee: Yedidyah Bar David <didi>
Status: CLOSED NOTABUG QA Contact: bugs <bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.4CC: acathrow, gklein, iheim, sbonazzo, yeylon
Target Milestone: ---   
Target Release: 3.4.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: integration
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-25 09:38:44 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:
Attachments:
Description Flags
setup logs and yum log none

Description Jiri Belka 2014-02-18 17:13:19 UTC
Created attachment 864651 [details]
setup logs and yum log

Description of problem:
when engine-setup was populating remote DB for DWH, I blocked connection to remote DB with iptables to make it fail. then engine-setup uninstalled ovirt-engine-dwh (I got only one chance? :-)

# engine-setup
...
[ INFO  ] Backing up database localhost:engine to '/var/lib/ovirt-engine/backups/engine-20140218180930.EJOEtO.sql'.
[ INFO  ] Updating Engine database schema
[ INFO  ] Creating DWH database schema

^^^ iptables -I INPUT -s $engine_host -p tcp --dport 5432 -j REJECT # on DB host

[ ERROR ] Failed to execute stage 'Misc configuration': Command '/usr/share/ovirt-engine-dwh/dbscripts/create_schema.sh' failed to execute
[ INFO  ] Yum Performing yum transaction rollback
[ INFO  ] Yum Status: Downloading Packages
[ INFO  ] Yum Status: Running Test Transaction
[ INFO  ] Yum Status: Running Transaction
[ INFO  ] Yum erase: 1/1: ovirt-engine-dwh
[ INFO  ] Yum Verify: 1/1: ovirt-engine-dwh.noarch 0:3.4.0-0.2.master.20140205160753.el6 - e
[ INFO  ] Rolling back database schema
[ INFO  ] Clearing Engine database engine
[ INFO  ] Restoring Engine database engine
[ INFO  ] Rolling back DWH database schema
[ INFO  ] Clearing DWH database engine_history
[ ERROR ] DWH database rollback failed: could not connect to server: No route to host   Is the server running on host "jb-rh32.rhev.lab.eng.brq.redhat.com" and accepting        TCP/IP connections on port 5432? 
[ INFO  ] Stage: Clean up
          Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20140218180731.log
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ ERROR ] Execution of setup failed

Version-Release number of selected component (if applicable):
# rpm -qa | grep 'ovirt-engine-.*setup'
ovirt-engine-setup-base-3.4.0-0.7.beta2.el6.noarch
ovirt-engine-dwh-setup-3.4.0-0.2.master.20140205160753.el6.noarch
ovirt-engine-setup-3.4.0-0.7.beta2.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-common-3.4.0-0.7.beta2.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-3.4.0-0.7.beta2.el6.noarch
ovirt-engine-reports-setup-3.4.0-0.2.master.20140205160949.el6.noarch
ovirt-engine-setup-plugin-websocket-proxy-3.4.0-0.7.beta2.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1. make engine-setup fail when populating remote DWH DB
2.
3.

Actual results:
engine-setup punishes me with uninstallation of ovirt-engine-dwh

Expected results:
just fail, do not uninstall

Additional info:
good i'm on fast network ;)

Comment 1 Itamar Heim 2014-02-23 08:28:15 UTC
Setting target release to current version for consideration and review. please
do not push non-RFE bugs to an undefined target release to make sure bugs are
reviewed for relevancy, fix, closure, etc.

Comment 2 Sandro Bonazzola 2014-03-04 09:17:14 UTC
This is an automated message.
Re-targeting all non-blocker bugs still open on 3.4.0 to 3.4.1.

Comment 3 Yedidyah Bar David 2014-05-25 09:38:44 UTC
Generally speaking, failure in setup tries to rollback also packages.

Specifically, if the flow was:

1. install and setup engine
2. install ovirt-engine-dwh-setup
3. engine-setup and failing as described above

then engine-setup would have to install ovirt-engine-dwh, and on rollback will remove it.

> Steps to Reproduce:
> 1. make engine-setup fail when populating remote DWH DB
> 2.
> 3.
> 
> Actual results:
> engine-setup punishes me with uninstallation of ovirt-engine-dwh
> 
> Expected results:
> just fail, do not uninstall

Not sure why. engine-setup is designed to rollback all the changes it does.

> 
> Additional info:
> good i'm on fast network ;)

If all you want is to avoid setup from removing packages on rollback, in this specific case, simply install them manually before running it. In the general case (which includes version-locked packages etc that can't be prepared beforehand), yes, I agree that a fast network connection is helpful for installations and also for rollbacks.

Please reopen if the flow was different and you still think setup should not have removed the package.