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