After you configure the Compute service on the controller node, you must configure another system as a compute node. The compute node receives requests from the controller node and hosts virtual machine instances. You can run all services on a single node, but the examples in this guide use separate systems. This makes it easy to scale horizontally by adding additional Compute nodes following the instructions in this section.
The Compute service relies on a hypervisor to run virtual machine instances. OpenStack can use various hypervisors, but this guide uses KVM.
Install the Compute packages:
# apt-get install nova-compute-kvm python-guestfs
When prompted to create a
supermin
appliance, respondyes
.Note To use the meta-packages and install other components on your compute node, such as OpenStack Networking and Ceilometer agents, run this command:
# apt-get install openstack-compute-node
The controller node has the openstack-proxy-node and openstack-toaster meta-packages that install openstack-proxy-node and openstack-toaster at the same time.
Respond to the prompts for database management,
[keystone_authtoken]
settings, RabbitMQ credentials, and API endpoint registration.Edit the
/etc/nova/nova.conf
configuration file and add these lines to the appropriate sections:[DEFAULT] ... auth_strategy = keystone ... [database] # The SQLAlchemy connection string used to connect to the database connection = mysql://nova:NOVA_DBPASS@controller/nova [keystone_authtoken] auth_uri = http://
controller
:5000 auth_host =controller
auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = nova admin_password =NOVA_PASS
Configure Compute to provide remote console access to instances.
Edit
/etc/nova/nova.conf
and add the following keys under the[DEFAULT]
section:[DEFAULT] ... my_ip = 10.0.0.31 vnc_enabled = True vncserver_listen = 0.0.0.0 vncserver_proxyclient_address = 10.0.0.31 novncproxy_base_url = http://
controller
:6080/vnc_auto.htmlSpecify the host that runs the Image Service. Edit
/etc/nova/nova.conf
file and add these lines to the[DEFAULT]
section:[DEFAULT] ... glance_host =
controller
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:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
If this command returns a value of one or greater, your hypervisor and/or CPU support nested hardware acceleration which requires no additional configuration.
If this command returns a value of zero, your hypervisor and/or CPU do not support nested hardware acceleration and
libvirt
must use QEMU instead of KVM. Edit the[libvirt]
section in the/etc/nova/nova-compute.conf
file to modify this key:[libvirt] ... virt_type = qemu
Restart the Compute service:
# service nova-compute restart