Bug 806714

Summary: virt-v2v:rpmdb error:db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
Product: Red Hat Enterprise Linux 6 Reporter: tingting zheng <tzheng>
Component: virt-v2vAssignee: Matthew Booth <mbooth>
Status: CLOSED DEFERRED QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 6.3CC: cwei, jwu, mzhan, rjones
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-18 11:27:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description tingting zheng 2012-03-26 04:20:53 UTC
Description of Problem:
When use virt-v2v to convert guest,there is rpmdb error:virt-v2v: WARNING: Failed to install packages using yum. Output was: sh_lines: sh_lines: rpmdb: Program version 4.3 doesn't match environment version,error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch

Version-Release number of selected component (if applicable):
virt-v2v-0.8.7-4.el6.x86_64
libvirt-0.9.10-6.el6.x86_64
llibguestfs-1.16.10-1.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1.Prepare a guest which not configured with yum repo and not registered to rhn.

2.Use virt-v2v to convert a guest:
# virt-v2v  -ic qemu+ssh://10.66.72.122/system -o rhev -os 10.66.90.115:/vol/v2v_auto/auto_export -n rhevm kvm-rhel5.8-i386-qcow2
kvm-rhel5.8-i386.qcow2: 100% [=========================================================================]D 0h36m33s
virt-v2v: WARNING: Failed to install packages using yum. Output was: sh_lines: sh_lines: rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 157, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 187, in getOptionsConfig
    self.conf
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 665, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 240, in _getConfig
    self._conf = config.readMainConfig(startupconf)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 805, in readMainConfig
    yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 878, in _getsysver
    idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed at /usr/share/perl5/vendor_perl/Sys/VirtConvert/GuestfsHandle.pm line 197.
 at /usr/share/perl5/vendor_perl/Sys/VirtConvert/Converter/RedHat.pm line 1357

command: command: rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
warning: /transferWH4yNn/rhel/5/lvm2-2.02.40-6.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages database in /var/lib/rpm at /usr/share/perl5/vendor_perl/Sys/VirtConvert/GuestfsHandle.pm line 203.
 at /usr/share/perl5/vendor_perl/Sys/VirtConvert/Converter/RedHat.pm line 1438
virt-v2v: WARNING: Failed to install packages using yum. Output was: sh_lines: sh_lines: rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 157, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 187, in getOptionsConfig
    self.conf
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 665, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 240, in _getConfig
    self._conf = config.readMainConfig(startupconf)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 805, in readMainConfig
    yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 878, in _getsysver
    idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed at /usr/share/perl5/vendor_perl/Sys/VirtConvert/GuestfsHandle.pm line 197.
 at /usr/share/perl5/vendor_perl/Sys/VirtConvert/Converter/RedHat.pm line 1357

virt-v2v: No app in config matches os='linux' name='xorg-x11-drv-cirrus' distro='rhel' major='5' minor='8' arch='i386'
virt-v2v: WARNING: Display driver was updated to cirrus, but unable to install cirrus driver. X may not function correctly
virt-v2v: kvm-rhel5.8-i386-qcow2 configured without virtio drivers.


Actual results:
There is rpmdb error as step2 shows.

Expected results:
There should no rpmdb error,and virtio drivers should be configured.
 
Additional info:
We can work around this by deleting /var/lib/rpm/__db.00*  before doing any rpm operations.

Comment 2 tingting zheng 2012-03-26 04:50:40 UTC
The issue can not be reproduced every time,I tried about 20 times,it can be
reproduced about 10 times.Sometimes when start the guest then shutdown it
clearly before running virt-v2v,the problem doesn't exist.

Comment 3 RHEL Program Management 2012-05-03 04:37:29 UTC
Since RHEL 6.3 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 4 Richard W.M. Jones 2014-11-18 11:27:24 UTC
Virt-v2v needs to run on the latest Red Hat Enterprise Linux release
to ensure it can correctly read and modify new guest filesystem
features.  A new version of virt-v2v is now available for RHEL 7.1.

Before RHEL 7.1 is released, follow the instructions here to
install unsupported preview packages on top of RHEL 7.0:
https://www.redhat.com/archives/libguestfs/2014-May/msg00090.html

After RHEL 7.1 is released, virt-v2v will be available in
Technical Preview.

You can run virt-v2v in a single virtual machine.  Other
requirements are covered here:
http://libguestfs.org/virt-v2v.1.html#resource-requirements

If you find a missing feature or bug in the new version of virt-v2v
please file a bug using the following link:
https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%207&component=libguestfs