openstack-manuals/doc/install-guide/source/nova-compute-install.rst
Andreas Jaeger 25d1b7d617 Remove DocBook XML files for Install Guide
Remove DocBook XML files and rename directory from install-guide-rst to
install-guide.

Adjust everything so that publishing works.
Update README to remove DocBook XML Install Guide specific instructions.

Implements: blueprint installguide-liberty
Change-Id: If723c44c3c0383dc8ab8e53798d82e7f0ee2cc57
2015-08-19 16:35:31 +02:00

285 lines
8.1 KiB
ReStructuredText

Install and configure a compute node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the Compute
service on a compute node. The service supports several
:term:`hypervisors <hypervisor>` to deploy :term:`instances <instance>`
or :term:`VMs <virtual machine (VM)>`. For simplicity, this configuration
uses the :term:`QEMU <Quick EMUlator (QEMU)>` hypervisor with the
:term:`KVM <kernel-based VM (KVM)>` extension
on compute nodes that support hardware acceleration for virtual machines.
On legacy hardware, this configuration uses the generic QEMU hypervisor.
You can follow these instructions with minor modifications to horizontally
scale your environment with additional compute nodes.
.. note::
This section assumes that you are following the instructions in
this guide step-by-step to configure the first compute node. If you
want to configure additional compute nodes, prepare them in a similar
fashion to the first compute node in the :ref:`example architectures
<overview-example-architectures>` section using the same networking
service as your existing environment. For either networking service,
follow the :ref:`NTP configuration <basics-ntp-other-nodes>` and
:doc:`OpenStack packages <basics-packages>` instructions.
For OpenStack Networking (neutron), also follow the
:doc:`OpenStack Networking compute node <basics-networking-neutron>`
instructions. For legacy networking (nova-network), also follow the
:doc:`legacy networking compute node <basics-networking-nova>`
instructions. Each additional compute node requires unique IP addresses.
To install and configure the Compute hypervisor components
----------------------------------------------------------
.. note::
Default configuration files vary by distribution. You might need
to add these sections and options rather than modifying existing
sections and options. Also, an ellipsis (...) in the configuration
snippets indicates potential default configuration options that you
should retain.
.. only:: obs
1. Install the packages:
.. code-block:: console
# zypper install openstack-nova-compute genisoimage kvm libvirt
.. only:: rdo
1. Install the packages:
.. code-block:: console
# yum install openstack-nova-compute sysfsutils
.. only:: ubuntu
1. Install the packages:
.. code-block:: console
# apt-get install nova-compute sysfsutils
2. Edit the :file:`/etc/nova/nova.conf` file and
complete the following actions:
* In the ``[DEFAULT]`` and [oslo_messaging_rabbit]
sections, configure ``RabbitMQ`` message queue access:
.. code-block:: ini
:linenos:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Replace ``RABBIT_PASS`` with the password you chose for
the ``openstack`` account in ``RabbitMQ``.
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
configure Identity service access:
.. code-block:: ini
:linenos:
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS
Replace ``NOVA_PASS`` with the password you chose for the
``nova`` user in the Identity service.
.. note::
Comment out or remove any other options in the
``[keystone_authtoken]`` section.
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option:
.. code-block:: ini
:linenos:
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP address
of the management network interface on your compute node,
typically 10.0.0.31 for the first node in the
:ref:`example architecture <overview-example-architectures>`.
* In the ``[DEFAULT]`` section, enable and configure remote console
access:
.. code-block:: ini
:linenos:
[DEFAULT]
...
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS
novncproxy_base_url = http://controller:6080/vnc_auto.html
The server component listens on all IP addresses and the proxy
component only listens on the management interface IP address of
the compute node. The base URL indicates the location where you
can use a web browser to access remote consoles of instances
on this compute node.
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with
the IP address of the management network interface on your
compute node, typically 10.0.0.31 for the first node in the
:ref:`example architecture <overview-example-architectures>`.
.. note::
If the web browser to access remote consoles resides on
a host that cannot resolve the ``controller`` hostname,
you must replace ``controller`` with the management
interface IP address of the controller node.
* In the ``[glance]`` section, configure the location of the
Image service:
.. code-block:: ini
:linenos:
[glance]
...
host = controller
.. only:: obs
* In the ``[oslo_concurrency]`` section, configure the lock path:
.. code-block:: ini
:linenos:
[oslo_concurrency]
...
lock_path = /var/run/nova
.. only:: rdo or ubuntu
* In the ``[oslo_concurrency]`` section, configure the lock path:
.. code-block:: ini
:linenos:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
* (Optional) To assist with troubleshooting,
enable verbose logging in the ``[DEFAULT]`` section:
.. code-block:: ini
:linenos:
[DEFAULT]
...
verbose = True
.. only:: obs
3.
* Ensure the kernel module ``nbd`` is loaded.
.. code-block:: console
# modprobe nbd
* Ensure the module will be loaded on every boot by adding
``nbd`` in the :file:`/etc/modules-load.d/nbd.conf` file.
To finalize installation
------------------------
1. Determine whether your compute node supports hardware acceleration
for virtual machines:
.. code-block:: console
$ egrep -c '(vmx|svm)' /proc/cpuinfo
If this command returns a value of ``one or greater``, your compute
node supports hardware acceleration which typically requires no
additional configuration.
If this command returns a value of ``zero``, your compute node does
not support hardware acceleration and you must configure ``libvirt``
to use QEMU instead of KVM.
.. only:: obs or rdo
* Edit the ``[libvirt]`` section in the
:file:`/etc/nova/nova.conf` file as follows:
.. code-block:: ini
:linenos:
[libvirt]
...
virt_type = qemu
.. only:: ubuntu
* Edit the ``[libvirt]`` section in the
:file:`/etc/nova/nova-compute.conf` file as follows:
.. code-block:: ini
:linenos:
[libvirt]
...
virt_type = qemu
.. only:: obs or rdo
2. Start the Compute service including its dependencies and configure
them to start automatically when the system boots:
.. code-block:: console
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service
.. only:: ubuntu
2. Restart the Compute service:
.. code-block:: console
# service nova-compute restart
3. By default, the Ubuntu packages create an SQLite database.
Because this configuration uses an SQL database server, you can
remove the SQLite database file:
.. code-block:: console
# rm -f /var/lib/nova/nova.sqlite