openstack-nova-compute failed to start when using qemu2.0 on centos

Bug #1338913 reported by Moshe Levi
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
Critical
Alexander Podrepniy

Bug Description

after installing all the nodes we see this error in the compute nodes:
in nova-compute
2014-07-06 12:42:43.774 4304 TRACE nova.openstack.common.threadgroup rv = meth(*args,**kwargs)
2014-07-06 12:42:43.774 4304 TRACE nova.openstack.common.threadgroup File "/usr/lib64/python2.6/site-packages/libvirt.py", line 3524, in getVersion
2014-07-06 12:42:43.774 4304 TRACE nova.openstack.common.threadgroup if ret == -1: raise libvirtError ('virConnectGetVersion() failed', conn=self)
2014-07-06 12:42:43.774 4304 TRACE nova.openstack.common.threadgroup libvirtError: internal error: Cannot find suitable emulator for x86_64

and in the puppet log :
Augeas[sysconfig-libvirt](provider=augeas) (warning): Loading failed for one or more files, see debug for /augeas//error output

after investigating it with Vitaly Parakhin, /usr/bin/qemu-system-x86_64 was missing and this configuration was missing:
virt_type = kvm in nova.conf
 modprobe -a kvm
 modprobe -a kvm-intel

was build with latest commit in fuel-library:
commit 8821051a1f16340d52b2659a0f2ddf2be4274e41
and with external repository of qemu2.0 and libvirt
"qemu2,http://fuel-repository.mirantis.com/repos/centos-fuel-5.1-stable-15943/centos" "libvert,http://fuel-repository.mirantis.com/repos/centos-fuel-5.1-stable-17019/centos"

Tags: mos-linux
Changed in fuel:
assignee: nobody → Fuel OSCI Team (fuel-osci)
importance: Undecided → Medium
milestone: none → 5.0.1
milestone: 5.0.1 → 5.1
Roman Vyalov (r0mikiam)
Changed in fuel:
assignee: Fuel OSCI Team (fuel-osci) → MOS Linux (mos-linux)
status: New → Triaged
affects: fuel → mos
Changed in mos:
milestone: 5.1 → none
Changed in mos:
assignee: MOS Linux (mos-linux) → Alexander Podrepniy (apodrepniy)
Igor Marnat (imarnat)
tags: added: mos-linux
Revision history for this message
Michael Semenov (msemenov) wrote :
Changed in mos:
status: Triaged → Fix Committed
Revision history for this message
Moshe Levi (moshele) wrote :

Hi,

I tested the fix (https://review.openstack.org/#/c/105863/ only fix) and it only solve the problem that the /usr/bin/qemu-system-x86_64 that was missing

but still the kvm kernel modules are not loaded

Changed in mos:
status: Fix Committed → In Progress
Revision history for this message
Andrey Danin (gcon-monolake) wrote :

The problem was reproduced with Public ISO #44 Jul 27, 2014
https://fuel-jenkins.mirantis.com/view/ISO/job/publish_fuel_community_iso/17/
After the deployment of Compute nodes finished, a user have to manually run 'modprobe -a kvm; modprobe -a kvm-intel; service libvirtd restart;' on each Compute node.

Can you check, is this related to package or to Puppet manifests?

Changed in mos:
importance: Medium → High
Revision history for this message
Moshe Levi (moshele) wrote :

how can I tell?

Revision history for this message
Andrey Danin (gcon-monolake) wrote :

Aleksander, can you check, is this a wrong package or not? Who should do modprobe?

Revision history for this message
Andrey Danin (gcon-monolake) wrote :

I checked our manifests - we do nothing with modprobe kvm. It should be a package issue.

Changed in mos:
importance: High → Critical
milestone: none → 5.1
Revision history for this message
Moshe Levi (moshele) wrote :

we installed this http://seed.fuel-infra.org/fuelweb-iso/fuel-community-master-47-2014-07-30_05-27-27.iso.torrent iso without mellanox feature and still the kvm modules are not loaded.

I think you should see this issue in your lab as well.

Revision history for this message
Alexander Podrepniy (apodrepniy) wrote :

I have the same situation on build #47.

On other old build with qemu v1.2 in package qemu-kvm I see file /etc/sysconfig/modules/kvm.modules .
In build #47 this file not exists.

File /etc/sysconfig/modules/kvm.modules from build 311:
====================== cut ======================
#!/bin/sh

case $(uname -m) in
    i?86|x86_64)
        grep vmx /proc/cpuinfo >/dev/null 2>&1 && vmx=1
        grep svm /proc/cpuinfo >/dev/null 2>&1 && svm=1

        if [ "$vmx" ] || [ "$svm" ]; then
            [ "$vmx" ] && modprobe -b kvm-intel >/dev/null 2>&1 && kvm=1
            [ "$svm" ] && modprobe -b kvm-amd >/dev/null 2>&1 && kvm=1
        fi
        ;;
    ppc64)
        grep OPAL /proc/cpuinfo >/dev/null 2>&1 && opal=1

        if [ "$opal" ]; then
            modprobe -b kvm >/dev/null 2>&1 && kvm=1
        fi
        ;;
    s390x)
        modprobe -b kvm >/dev/null 2>&1 && kvm=1
        ;;
esac

if [ "$kvm" ]; then
    # no reason why vhost should not work with TCG, but currently it does not
    modprobe -b vhost-net >/dev/null 2>&1
else
    exit 0
fi
====================== cut ======================

Revision history for this message
Kostiantyn Danylov (kdanylov) wrote :
Revision history for this message
OSCI Robot (oscirobot) wrote :

Package qemu has been built from changeset: http://gerrit.mirantis.com/19859
RPM Repository URL: http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable-19859/centos
You can build an ISO with this package:
make iso EXTRA_RPM_REPOS="osci-testing,http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable-19859/centos"

Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

Guys, I think that hacky workaround is not what we want here.

1) I could not reproduce this issue on our master ISO. Let's check if it is reproducible now on ISO # 52
2) If it is confirmed, let's just use the same kvm.modules script as it seems ok.

Revision history for this message
OSCI Robot (oscirobot) wrote :

Package qemu has been built from changeset: http://gerrit.mirantis.com/19859
RPM Repository URL: http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable-19859/centos
You can build an ISO with this package:
make iso EXTRA_RPM_REPOS="osci-testing,http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable-19859/centos"

Revision history for this message
OSCI Robot (oscirobot) wrote :

Package qemu has been built from changeset: http://gerrit.mirantis.com/19859
RPM Repository URL: http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable/centos
You can build an ISO with this package:
make iso EXTRA_RPM_REPOS="osci-testing,http://osci-obs.vm.mirantis.net:82/centos-fuel-5.1-stable/centos"

Revision history for this message
Moshe Levi (moshele) wrote :

the fix is working

Changed in mos:
status: In Progress → Fix Committed
Moshe Levi (moshele)
Changed in mos:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.