Bug 971801 - Packstack looks for qemu-kvm (instead of qemu-kvm-rhev)
Packstack looks for qemu-kvm (instead of qemu-kvm-rhev)
Status: CLOSED DUPLICATE of bug 957632
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-packstack (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Martin Magr
Nir Magnezi
Depends On:
  Show dependency treegraph
Reported: 2013-06-07 06:04 EDT by Kashyap Chamarthy
Modified: 2016-01-06 05:00 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-06-07 06:18:03 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Patch for RHOS version (471 bytes, patch)
2013-06-07 06:53 EDT, Martin Magr
no flags Details | Diff

  None (edit)
Description Kashyap Chamarthy 2013-06-07 06:04:24 EDT
Description of problem: Packstack tries to find qemu-kvm RPM when a qemu-kvm-rhev is already installed on the machine, and aborts "packstack --allinone"

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

$  rpm -q openstack-packstack

How reproducible: At-least twice

Steps to Reproduce:
1. Have a RHEL 6.4 machine with qemu-kvm-rhev rpm *already* installed.

2. Install the latest puddle RPM:

  $ http://download.lab.bos.redhat.com/rel-eng/OpenStack/Grizzly/latest/puddle.repo

  $ sudo yum install -y openstack-packstack

  $ packstack --allinone

Actual results:
Tries to find qemu-kvm RPM.
SequenceError: Error during puppet run : err: /Stage[main]//Package[qemu-kvm]/ensure:
change from absent to present failed: Could not find package qemu-kvm

Expected results:
If qemu-kvm-rhev package is already installed, packstack should just move ahead

Additional info:

Complete error:

$ packstack --allinone
notice: /Stage[main]/Nova/Exec[networking-refresh]: Dependency Package[qemu-kvm] has
failures: true
warning: /Stage[main]/Nova/Exec[networking-refresh]: Skipping because of failed dependencies
notice: Finished catalog run in 37.14 seconds

2013-06-07 12:56:41::ERROR::run_setup::889::root:: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 870, in main
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 658, in
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 688, in
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 577, in _main
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 554, in
  File "/usr/lib/python2.6/site-packages/packstack/installer/setup_controller.py", line
90, in runAllSequences
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 105,
in run
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 52,
in run
    raise SequenceError(str(ex))
SequenceError: Error during puppet run : err: /Stage[main]//Package[qemu-kvm]/ensure:
change from absent to present failed: Could not find package qemu-kvm
Comment 1 Martin Magr 2013-06-07 06:18:03 EDT

*** This bug has been marked as a duplicate of bug 957632 ***
Comment 2 Martin Magr 2013-06-07 06:53:48 EDT
Created attachment 758134 [details]
Patch for RHOS version
Comment 3 Alan Pevec 2013-06-07 08:44:00 EDT
-package { 'qemu-kvm':
+package { 'qemu-kvm-rhev':
     ensure => present,
     before => Class['nova::compute::libvirt']

Before closing this with a workaround, let's understand the root-cause:

* qemu-kvm-rhev does provide qemu-kvm and yum install qemu-kvm does the right thing if you have qemu-kvm-rhev avaiable in the enabled repositories
* but Puppet's package ensure => present seems to be doing something wrong,
  from log provided by Derek it does rpm -qa (which doesn't include virtual RPM
  provides) and runs yumhelper:
debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm -qa --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
debug: Puppet::Type::Package::ProviderYum: Executing '/bin/python /usr/share/ruby/vendor_ruby/puppet/provider/package/yumhelper.py'

* I'm unclear what happens then to produce
  err: /Stage[main]//Package[qemu-kvm]/ensure:
  change from absent to present failed: Could not find package qemu-kvm

Martin, please clarify the last point, isn't that a bug which should be fixed in Puppet package resource type?

Note You need to log in before you can comment on or make changes to this bug.