Bug 855887
Summary: | vdsm: reinstall of host when vdsm repo was updated from 4.9-113.3 to vdsm-4.9.6-32.0 fails on Transaction Check Error | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Dafna Ron <dron> | ||||
Component: | vdsm | Assignee: | Alon Bar-Lev <alonbl> | ||||
Status: | CLOSED ERRATA | QA Contact: | Dafna Ron <dron> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 6.3 | CC: | abaron, bazulay, dkenigsb, iheim, ilvovsky, lpeer, ykaul, zdover | ||||
Target Milestone: | rc | Keywords: | ZStream | ||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | infra | ||||||
Fixed In Version: | vdsm-4.9.6-35.0 | Doc Type: | Bug Fix | ||||
Doc Text: |
Upgrading the host from vdsm 4.9.113.3 to 4.9.6-32 by reinstalling the host caused installation to fail with a Transaction Check Error. This is because bootstrap ran on "update vdsm" instead of "update vdsm-*". This caused conflicts on vdsm-cli. The bootstrap-related issue has been fixed in vdsm, and "yum update 'vdsm*' now correctly updates vdsm on the host.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-12-04 19:11:14 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: |
|
This is expected. libvirt-1.10.1 is a new dependency of vdsm but missing from fedora repository. What exactly should I do with this one? We should have asked fedora to add the new libvirt before merging whatever depend on the new version. but this is about rhel 6? Dafna - does you host have libvirt-1.10.1 in one of its repo's? This exact issue happened to be at fedora because of the libvirt dependency. Sorry for the confusion, vdsm downstream does not required newer libvirt. I will be happy to reproduce. no. I'm working with rhel6 but here are my rpm's just in case you need them [root@localhost ~]# rpm -qa |grep libvirt libvirt-python-0.9.10-21.el6_3.4.x86_64 libvirt-0.9.10-21.el6_3.4.x86_64 libvirt-client-0.9.10-21.el6_3.4.x86_64 [root@localhost ~]# rpm -qa |grep vdsm vdsm-hook-vhostmd-4.9-113.3.el6_3.x86_64 vdsm-reg-4.9-113.3.el6_3.x86_64 vdsm-4.9-113.3.el6_3.x86_64 vdsm-cli-4.9-113.3.el6_3.x86_64 Root cause: commit 655fc540c60d1dd9939f274f3bb20db137cba3e0 Author: Federico Simoncelli <fsimonce> Date: Tue Feb 14 11:20:51 2012 +0000 Move dumpStorageTable from vdsm_cli to vdsm The dumpStorageTable.py script is used by the sos plugin shipped with vdsm. Change-Id: Ic9dfdc283fc13af7841ee31566b1453aa9c2efd2 Reviewed-on: http://gerrit.ovirt.org/1889 Reviewed-by: Dan Kenigsberg <danken> Tested-by: Dan Kenigsberg <danken> This is actually opposite report of bug#633820 for downstream. commit fba117fbafc3b52ee7f5a350007a48188d669285 Author: Dan Kenigsberg <danken> Date: Wed Sep 22 00:57:59 2010 +0200 BZ#633820 - no need to remove vdsm from RHEL-6 (at least until we have a vdsm24 package...) commit 0ee3c7d81ba06171aa42c3c5257c73cfdcb3ee08 Author: Alon Bar-Lev <alonbl> Date: Tue Sep 18 22:46:17 2012 +0300 bootstrap: use yum API PREVIOUS IMPLEMENTATION Use of yum command-line to automate package installation. Install package almost one by once, so valid status can be reported to master. PROBLEMS IN PREVIOUS IMPLEMENTATION - As each package was installed separately, conflicts could not be resolved. - Dependency list should have been maintained, to match dependencies' changes over time. - Alternate packages, or any alternate dependency trees should have been maintained separately. - Each execution of yum recalculate the cache, mirrors and dependencies, this took time. - If another instance is running, yum waits for ever. NEW IMPLEMENTATION Use the yum python API, use single transaction, only top-level components, proper logging. This implementation resolves all the issue of previous implementation. Also removing the architecture specific package naming. PROBLEMS IN NEW IMPLEMENTATION As it turns out, the yum API is not exactly pure API, it needs a lot more work especially at log interface, as its lazy use of logs and direct print of messages to stdout/stderr is not something that is expected from an API. The new implementation applies workarounds to these issues, for now we are good. CLEANUP As the vdsm-bootstrap package is to be installed on older engines, legacy code could not have been removed. The usage of yum from deployUtils, and the installation functions from the vds_bootstrap.py could have been removed, ~340 lines of code. Change-Id: I65796801bc2db7c5abf71c1e9e4ad8ca308138b9 Signed-off-by: Alon Bar-Lev <alonbl> http://gerrit.ovirt.org/#/c/8039/ Proper (future) fix is tracked at bug#861575. I'm getting the same conflict on yum update vdsm we cannot update vdsm without removing vdsm-cli first. tested with vdsm-4.9-113.4.el6_3.x86_64 ->> vdsm-4.9.6-39.0.el6_3.x86_64 Dependencies Resolved ================================================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================================================ Updating: vdsm x86_64 4.9.6-39.0.el6_3 qa-latest 675 k Installing for dependencies: libvirt-lock-sanlock x86_64 0.9.10-21.el6_3.5 qa-latest 125 k vdsm-python x86_64 4.9.6-39.0.el6_3 qa-latest 84 k Transaction Summary ================================================================================================================================================================================ Install 2 Package(s) Upgrade 1 Package(s) Total download size: 884 k Is this ok [y/N]: y Downloading Packages: (1/3): libvirt-lock-sanlock-0.9.10-21.el6_3.5.x86_64.rpm | 125 kB 00:00 (2/3): vdsm-4.9.6-39.0.el6_3.x86_64.rpm | 675 kB 00:00 (3/3): vdsm-python-4.9.6-39.0.el6_3.x86_64.rpm | 84 kB 00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 25 MB/s | 884 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Check Error: file /usr/share/vdsm/dumpStorageTable.py from install of vdsm-4.9.6-39.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.4.el6_3.x86_64 file /usr/share/vdsm/dumpStorageTable.pyc from install of vdsm-4.9.6-39.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.4.el6_3.x86_64 file /usr/share/vdsm/dumpStorageTable.pyo from install of vdsm-4.9.6-39.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.4.el6_3.x86_64 Full log please. BTW: Did you update the vdsm-bootstrap at the engine side? This is what actually runs. comment#13 is per MANUAL yum invocation. To upgrade vdsm packages properly use: # yum update 'vdsm*' Dafna, Bootstrap issue was resolved, please verify that one, and close this bug. Manual yum execution is a totally different discussion. Please close this one and open a new one for this discussion. Using yum update manually should assume the user knows what he is doing, or at least read the output and proceed accordingly. There is no bug in manual yum execution in my opinion, but should be discussed outside of the bootstrap scope. Thanks, Alon as you wish. verified on si22.1 new bug opened as regression for yum update vdsm 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. http://rhn.redhat.com/errata/RHSA-2012-1508.html |
Created attachment 611437 [details] log Description of problem: I tried to upgrade my host from vdsm 4.9-113.3 to 4.9.6-32 by reinstalling the host and installation failed with Transaction Check Error. bootsrap is running on update vdsm instead of update vdsm-* which causes conflicts on vdsm-cli. Version-Release number of selected component (if applicable): si17 How reproducible: 100% Steps to Reproduce: 1. create a 3.0 cluster -> host should have vdsm-4.9-113.3 + vdsm-client 2. add repo's for vdsm-4.9.6-32 3. put host in maintenance are reinstall the host Actual results: we fail on reinstall with conflict on vdsm-client Expected results: we should not fail Additional info: install log Transaction Check Error: file /usr/share/vdsm/dumpStorageTable.py from install of vdsm-4.9.6-32.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.3.el6_3.x86_64 file /usr/share/vdsm/dumpStorageTable.pyc from install of vdsm-4.9.6-32.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.3.el6_3.x86_64 file /usr/share/vdsm/dumpStorageTable.pyo from install of vdsm-4.9.6-32.0.el6_3.x86_64 conflicts with file from package vdsm-cli-4.9-113.3.el6_3.x86_64 after I ran yum update vdsm-* I was able to reinstall the host