Bug 971801

Summary: Packstack looks for qemu-kvm (instead of qemu-kvm-rhev)
Product: Red Hat OpenStack Reporter: Kashyap Chamarthy <kchamart>
Component: openstack-packstackAssignee: Martin Magr <mmagr>
Status: CLOSED DUPLICATE QA Contact: Nir Magnezi <nmagnezi>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.0CC: aortega, apevec, derekh, mmagr, ykaul
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-07 10:18:03 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:
Description Flags
Patch for RHOS version none

Description Kashyap Chamarthy 2013-06-07 10:04:24 UTC
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
openstack-packstack-2013.1.1-0.12.dev621.el6ost.noarch

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
    single_step_aio_install(options)
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 658, in
single_step_aio_install
    single_step_install(options)
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 688, in
single_step_install
    _main(answerfilepath)
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 577, in _main
    runSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/run_setup.py", line 554, in
runSequences
    controller.runAllSequences()
  File "/usr/lib/python2.6/site-packages/packstack/installer/setup_controller.py", line
90, in runAllSequences
    sequence.run(self.CONF)
  File "/usr/lib/python2.6/site-packages/packstack/installer/core/sequences.py", line 105,
in run
    step.run(config=config)
  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 10:18:03 UTC

*** This bug has been marked as a duplicate of bug 957632 ***

Comment 2 Martin Magr 2013-06-07 10:53:48 UTC
Created attachment 758134 [details]
Patch for RHOS version

Comment 3 Alan Pevec 2013-06-07 12:44:00 UTC
-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?