Bug 1043561

Summary: [engine-setup] when engine-setup is stopped during 'Yum update' stage, next engine-setup runs fails
Product: Red Hat Enterprise Virtualization Manager Reporter: Jiri Belka <jbelka>
Component: ovirt-engine-setupAssignee: Ofer Schreiber <oschreib>
Status: CLOSED NOTABUG QA Contact: Pavel Stehlik <pstehlik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: acathrow, alonbl, bazulay, didi, iheim, Rhev-m-bugs, sbonazzo, yeylon
Target Milestone: ---   
Target Release: 3.3.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: integration
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-18 10:01:51 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:
Attachments:
Description Flags
setup logs none

Description Jiri Belka 2013-12-16 16:13:36 UTC
Created attachment 837303 [details]
setup logs

Description of problem:
I rebooted machine during engine-setup :-)

-%-
...snip...
[ INFO  ] Yum update: 4/16: rhevm-backend-3.3.0-0.40.rc.el6ev.noarch

Broadcast message from root.lab.eng.brq.redhat.com
        (/dev/pts/2) at 11:47 ...

The system is going down for reboot NOW!
[ INFO  ] Yum update: 5/16: rhevm-userportal-3.3.0-0.40.rc.el6ev.noarch
[ INFO  ] Yum update: 6/16: rhevm-webadmin-portal-3.3.0-0.40.rc.el6ev.noarch
-%-

After reboot..

-%-
# /etc/init.d/ovirt-engine status
ovirt-engine (pid  1515) is running...
[root@test-tcms1 ~]# engine-setup                                                                                                                
[ INFO  ] Stage: Initializing
[ INFO  ] Stage: Environment setup
          Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging.conf', '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf']
          Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20131216163554.log
          Version: otopi-1.1.2 (otopi-1.1.2-1.el6ev)
[ INFO  ] Stage: Environment packages setup
[ INFO  ] Stage: Programs detection
[ INFO  ] Stage: Environment setup
[ INFO  ] Stage: Environment customization
         
          --== PACKAGES ==--
         
[ INFO  ] Checking for product updates...
[ ERROR ] Yum: [u'rhevm-userportal-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-webadmin-portal-3.3.0-0.38.rc.el6ev.
noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-backend-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-tools-3.3
.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-restapi-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev']
[ INFO  ] Yum: Performing yum transaction rollback
[ INFO  ] Yum: Status: Downloading Packages
[ INFO  ] Yum: Download/Verify: rhevm-backend-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Download/Verify: rhevm-restapi-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Download/Verify: rhevm-tools-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Download/Verify: rhevm-userportal-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Download/Verify: rhevm-webadmin-portal-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Download/Verify: rhevm-websocket-proxy-3.3.0-0.38.rc.el6ev.noarch
[ INFO  ] Yum: Status: Check Package Signatures
[ INFO  ] Yum: Status: Running Test Transaction
[ ERROR ] Yum: Test Transaction Errors:   package rhevm-websocket-proxy-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-restapi-3
.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-userportal-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-webadmi
n-portal-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-tools-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-ba
ckend-3.3.0-0.38.rc.el6ev.noarch is already installed 
[ ERROR ] Yum: Transaction close failed: Traceback (most recent call last):   File "/usr/lib/python2.6/site-packages/otopi/miniyum.py", line 699,
 in endTransaction     self.processTransaction()   File "/usr/lib/python2.6/site-packages/otopi/miniyum.py", line 929, in processTransaction     
rpmDisplay=self._RPMCallback(sink=self._sink)   File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 4992, in processTransaction     sel
f._doTestTransaction(callback,display=rpmTestDisplay)   File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 5091, in _doTestTransaction
     raise Errors.YumTestTransactionError, errstring YumTestTransactionError: Test Transaction Errors:   package rhevm-websocket-proxy-3.3.0-0.38
.rc.el6ev.noarch is already installed   package rhevm-restapi-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-userportal-3.3.0-0.
38.rc.el6ev.noarch is already installed   package rhevm-webadmin-portal-3.3.0-0.38.rc.el6ev.noarch is already installed   package rhevm-tools-3.3
.0-0.38.rc.el6ev.noarch is already installed   package rhevm-backend-3.3.0-0.38.rc.el6ev.noarch is already installed  
[ ERROR ] Failed to execute stage 'Environment customization': [u'rhevm-userportal-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6e
v', u'rhevm-webadmin-portal-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-backend-3.3.0-0.38.rc.el6ev.noarch requires
 rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-tools-3.3.0-0.38.rc.el6ev.noarch requires rhevm = 3.3.0-0.38.rc.el6ev', u'rhevm-restapi-3.3.0-0.38.rc.el6e
v.noarch requires rhevm = 3.3.0-0.38.rc.el6ev']
[ INFO  ] Stage: Clean up
          Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20131216163554.log
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ ERROR ] Execution of upgrade failed
-%-

-%-
root@test-tcms1 ~]# yum history info 6                                                                                                [407/1863]
Loaded plugins: product-id, rhnplugin, security, versionlock
This system is receiving updates from RHN Classic or RHN Satellite.
Transaction ID : 6
Begin time     : Mon Dec 16 11:47:48 2013
Begin rpmdb    : 798:854231f5991d040df85e1e6e45cdbb2b12badadc
User           : root <root>
Return-Code    : ** Aborted **
Transaction performed with:
    Installed     rpm-4.8.0-37.el6.x86_64                 @RHEL_6.5_brq/6.5
    Installed     yum-3.2.29-40.el6.noarch                @RHEL_6.5_brq/6.5
    Installed     yum-metadata-parser-1.1.2-16.el6.x86_64 @RHEL_6.5_brq/6.5
Packages Altered:
 ** Updated rhevm-3.3.0-0.38.rc.el6ev.noarch                 @is26
 ** Update        3.3.0-0.40.rc.el6ev.noarch                 @?is27
 ** Updated rhevm-backend-3.3.0-0.38.rc.el6ev.noarch         @is26
    Update                3.3.0-0.40.rc.el6ev.noarch         installed
 ** Updated rhevm-dbscripts-3.3.0-0.38.rc.el6ev.noarch       @is26
 ** Update                  3.3.0-0.40.rc.el6ev.noarch       @?is27
 ** Updated rhevm-restapi-3.3.0-0.38.rc.el6ev.noarch         @is26
    Update                3.3.0-0.40.rc.el6ev.noarch         installed
 ** Updated rhevm-tools-3.3.0-0.38.rc.el6ev.noarch           @is26
    Update              3.3.0-0.40.rc.el6ev.noarch           installed
 ** Updated rhevm-userportal-3.3.0-0.38.rc.el6ev.noarch      @is26
    Update                   3.3.0-0.40.rc.el6ev.noarch      installed
 ** Updated rhevm-webadmin-portal-3.3.0-0.38.rc.el6ev.noarch @is26
 ** Update                        3.3.0-0.40.rc.el6ev.noarch installed
 ** Updated rhevm-websocket-proxy-3.3.0-0.38.rc.el6ev.noarch @is26
    Update                        3.3.0-0.40.rc.el6ev.noarch installed
history info
-%-

/etc/yum/pluginconf.d/versionlock.list is empty!

-%-
# rpm --nodeps -e rhevm-backend-3.3.0-0.40.rc.el6ev.noarch
# rpm --nodeps -e rhevm-restapi-3.3.0-0.40.rc.el6ev.noarch rhevm-tools-3.3.0-0.40.rc.el6ev.noarch rhevm-userportal-3.3.0-0.40.
rc.el6ev.noarch rhevm-webadmin-portal-3.3.0-0.40.rc.el6ev.noarch rhevm-websocket-proxy-3.3.0-0.40.rc.el6ev.noarch
# cat /etc/yum/pluginconf.d/versionlock.list.20131216114732 > /etc/yum/pluginconf.d/versionlock.list
-%-

Then engine-setup passed OK.

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

How reproducible:
100%

Steps to Reproduce:
1. engine-setup - when there is 'Yum update', type reboot from other console
2. after reboot do engine-setup
3.

Actual results:
??

Expected results:
??

Additional info:
I'm somehow confused by ERROR lines above. I would expend to see that .40 version was installed but why it is complating about old version?

Also why DB backup is done after yum update? Shouldn't it be done before whole update to be sure? Is there a list of rpm packages which were present on the system when DB backup was done? Is empty versionlock.list OK?

Maybe it's whole NOTABUG :-)

Comment 1 Sandro Bonazzola 2013-12-18 07:53:22 UTC
Maybe we can check if there are unfinished transactions in yum before trying to upgrade and abort telling the user to rollback the last transaction.
I don't think we can do much more than that since we can't prevent the system from going down until we completed upgrade (or am I wrong and a way exists?)

Comment 2 Alon Bar-Lev 2013-12-18 09:56:52 UTC
I do not think this is valid sequence for us to handle. Even if we solve this specific issue there will be more. We expect setup to complete, we are  not writing rocket software.

Comment 3 Sandro Bonazzola 2013-12-18 10:01:51 UTC
(In reply to Alon Bar-Lev from comment #2)
> I do not think this is valid sequence for us to handle. Even if we solve
> this specific issue there will be more. We expect setup to complete, we are 
> not writing rocket software.

Ok, closing as not a bug.