Added workaround for backported kernels on Ubuntu 12.04

I added a workaround for Ubuntu 12.04 using kernels backported from
newer releases that may not automatically load the KVM modules for
hardware acceleration of VMs when the system boots. Since this
issue affects compute nodes running on both bare metal and
hypervisors, I changed the step to check for nested hardware
acceleration support to check for general hardware acceleration
support.

Change-Id: Ifb3990123ffdeb40183c9f4a332dc06b1e60322e
Closes-Bug: #1313975
This commit is contained in:
Matthew Kassawara 2014-04-29 11:53:40 -06:00
parent cad430d764
commit 01df671739

View File

@ -154,31 +154,48 @@ novncproxy_base_url = http://<replaceable>controller</replaceable>:6080/vnc_auto
glance_host = <replaceable>controller</replaceable></programlisting>
</step>
<step>
<para>If you install Compute on a virtual machine for testing
purposes, you must determine whether your hypervisor and/or CPU
support nested hardware acceleration using the following
command:</para>
<para>You must determine whether your system's processor and/or
hypervisor support hardware acceleration for virtual machines.</para>
<para>Run the following command:</para>
<screen><prompt>$</prompt> <userinput>egrep -c '(vmx|svm)' /proc/cpuinfo</userinput></screen>
<para>If this command returns a value of
<emphasis>one or greater</emphasis>, your hypervisor and/or CPU
support nested hardware acceleration which requires no
additional configuration.</para>
<para os="ubuntu;debian">If this command returns a value of
<emphasis>zero</emphasis>, your hypervisor and/or CPU do not
support nested hardware acceleration and
<literal>libvirt</literal> must use QEMU instead of KVM. Edit
the <literal>[libvirt]</literal> section in the
<filename>/etc/nova/nova-compute.conf</filename> file to modify
this key:</para>
<programlisting os="ubuntu;debian" language="ini">[libvirt]
<emphasis>one or greater</emphasis>, your system supports hardware
acceleration which typically requires no additional configuration.
</para>
<para>If this command returns a value of <emphasis>zero</emphasis>,
your system does not support hardware acceleration and you must
configure <literal>libvirt</literal> to use QEMU instead of KVM.</para>
<substeps>
<step os="ubuntu;debian">
<para>Edit the <literal>[libvirt]</literal> section in the
<filename>/etc/nova/nova-compute.conf</filename> file to modify
this key:</para>
<programlisting language="ini">[libvirt]
...
virt_type = qemu</programlisting>
<para os="rhel;centos;fedora;sles;opensuse">If this command returns
a value of <emphasis>zero</emphasis>, your hypervisor and/or CPU
do not support nested hardware acceleration and
<literal>libvirt</literal> must use QEMU instead of KVM.
Configure <literal>libvirt</literal> to use QEMU:</para>
<screen os="rhel;centos;fedora;sles;opensuse"><prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu</userinput></screen>
</step>
<step os="rhel;centos;fedora;sles;opensuse">
<para>Run the following command:</para>
<screen><prompt>#</prompt> <userinput>openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu</userinput></screen>
</step>
</substeps>
<warning os="ubuntu">
<para>On Ubuntu 12.04, kernels backported from newer releases may not
automatically load the KVM modules for hardware acceleration when
the system boots. In this case, launching an instance will fail
with the following message in the
<filename>/var/log/nova/nova-compute.log</filename> file:</para>
<screen><computeroutput>libvirtError: internal error: no supported architecture for os type 'hvm'</computeroutput></screen>
<para>As a workaround for this issue, you must add the appropriate
module for your system to the <filename>/etc/modules</filename> file.
</para>
<para>For systems with Intel processors, run the following command:
</para>
<screen><prompt>#</prompt> <userinput>echo 'kvm_intel' >> /etc/modules</userinput></screen>
<para>For systems with AMD processors, run the following command:
</para>
<screen><prompt>#</prompt> <userinput>echo 'kvm_amd' >> /etc/modules</userinput></screen>
</warning>
</step>
<step os="ubuntu">
<para>Remove the SQLite database created by the packages:</para>