Ask Your Question

very slow cpu for compute instances on TripleO in virtual environment [closed]

asked 2016-07-07 09:21:05 -0500

laurentiusoica gravatar image

updated 2016-07-07 09:22:55 -0500


I have a TripleoO setup in virtual environment. 1 controller 1 compute 1 ceph

If I run the following command on the compute node itself:

sysbench --test=cpu --cpu-max-prime=10000 --num-threads=1 run

it gives:

Test execution summary:
    total time:                          10.4219s
    total number of events:              10000
    total time taken by event execution: 10.4205
    per-request statistics:
         min:                                  0.98ms
         avg:                                  1.04ms
         max:                                  1.36ms
         approx.  95 percentile:               1.13ms

Spawning an instance with 2 vCPUs, 4 Gb RAM and running the same command, the result is:

Test execution summary:
    total time:                          44.2215s
    total number of events:              10000
    total time taken by event execution: 44.1548
    per-request statistics:
         min:                                  3.51ms
         avg:                                  4.42ms
         max:                                 17.90ms
         approx.  95 percentile:               4.73ms

So more than 4 times slower. I believe the reason is that qemu is used instead of kvm for instances virtualization.

The TripleO installation specifies that nested KVM is not supported: Virtualization hardware extensions enabled (nested KVM is not supported)

Is there any way to use nested kvm with TripleO. If not, what could I do in terms of configuration in order to increase the qemu's performance ?


edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by laurentiusoica
close date 2016-09-23 02:22:45.804331

2 answers

Sort by ยป oldest newest most voted

answered 2016-07-08 09:57:42 -0500

laurentiusoica gravatar image

Managed to enable nested KVM for compute node:

  1. Updated kernel on both the baremetal and compute to 3.18.
  2. Enable nested KVM on baremetal

    vi /etc/modprobe.d/kvm-nested.conf options kvm_intel nested=1

    modprobe -r kvm_intel # unload modprobe kvm_intel # reload again

    Check that nested KVM is enabled cat /sys/module/kvm_intel/parameters/nested

    Y# just enabled

  3. Pass HW virtualization flag to the compute VM

    virsh edit <compute domain="">

    <cpu mode="host-passthrough"/>

  4. Update nova service on compute node in order to use kvm instead of qemu

    vi /etc/nova/nova.conf virt_type=kvm cpu_mode=host-passthrough

    service openstack-nova-compute restart

edit flag offensive delete link more


Are you running RHEL/CentOS 7.X on Bare Metal ( and/or Controller) and Ubuntu on Compute Node ?

dbaxps gravatar imagedbaxps ( 2016-07-08 10:48:37 -0500 )edit

Centos 7 on baremetal, compute and controller. RHEL 7 on instances.

laurentiusoica gravatar imagelaurentiusoica ( 2016-07-08 12:45:20 -0500 )edit

[boris@CentOS72WKS tripleo-quickstart]$ uname -a Linux CentOS72WKS.localdomain 3.10.0-327.22.2.el7.x86_64 #1 SMP Thu Jun 23 17:05:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
From where 3.18 is coming from?

dbaxps gravatar imagedbaxps ( 2016-07-08 13:09:06 -0500 )edit

Got it form The centos 7 official kernel is 3.10 but has some issues with nested KVM. It doesn't work. The instances (2nd level of virtualization) remain in a pause state. That's why I needed a newer kernel.

laurentiusoica gravatar imagelaurentiusoica ( 2016-07-08 14:00:16 -0500 )edit

I believe it's connected with instack-virt-setup ( specific fix ). All kennels 3.10.xx work fine with nested KVM, in particular, under TripleO Quickstart

dbaxps gravatar imagedbaxps ( 2016-07-08 14:07:44 -0500 )edit

answered 2016-07-07 10:33:59 -0500

dbaxps gravatar image

updated 2016-07-07 10:56:53 -0500

TripleO QuickStart does support nested nested KVM on Compute Nodes.

I'll be straight I have issues  with HA Controllers in meantime, but didn't escalate either to BZ or to RDO mailing llist.  I just need more time to understand what's going on, actually, I am loosing keystone authorization via after several fail-overs , but VMs running permanent huge (multi MB ) downloads do survive migrating  HA router from one controller to another. Notice that your configuration has nothing in common with my troubles ( system detects every Controller as heat-engine in Admin=>System and I guess  that Controller's bringing back in Sync should be done via specific yaml template not just nova start overcloud-controller-(X)


They (RH staff) I guess are extremely focused on Ansible base deployment, they would never turn back to instack-virt-setup. And will work hard only on TripleO Quickstart pushing it to support bare metal and picking up more and more customers, which hardly understand that Ansible/Heat way to deploy Openstack is potentially  dangerous due to any updates to overcloud might be done only via yaml templates,what means pretty hard dependency on vendor

My very personal opinion is that Controller+Compute+Ceph might be set up via QuickStart even right now, definitely watching close RDO Mailing List && Bugzilla reports submitted to list on weekly basis.

HW requirements:CPU at least 8 Core (+ HT support) Haswell (or later) based Xeon,32 GB RAM.
edit flag offensive delete link more


Ok, thanks. But I didn't used the quicksand. I've installed the tripleo as documented on openstack. Have you ever experienced with nested KVM for openstack tripleo?

laurentiusoica gravatar imagelaurentiusoica ( 2016-07-07 15:36:23 -0500 )edit

I doubt nested KVM is available on instack-virt-setup. Just try standard instructions for Nested KVM activation and see for yourself.

dbaxps gravatar imagedbaxps ( 2016-07-07 15:47:34 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2016-07-07 09:21:05 -0500

Seen: 1,304 times

Last updated: Jul 08 '16