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:
# zypper install openstack-nova-compute kvm openstack-utils
Edit the
/etc/nova/nova.conf
configuration file:# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:
NOVA_DBPASS
@controller/nova # openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone # openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller
:5000 # openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_hostcontroller
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http # openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357 # openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova # openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service # openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_passwordNOVA_PASS
Configure the Compute service to use the RabbitMQ message broker by setting these configuration keys:
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rpc_backend nova.rpc.impl_kombu # openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_host controller # openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_password
RABBIT_PASS
Configure Compute to provide remote console access to instances.
# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.0.0.31 # openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True # openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0 # openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.0.0.31 # openstack-config --set /etc/nova/nova.conf \ DEFAULT novncproxy_base_url http://
controller
:6080/vnc_auto.htmlSpecify the host that runs the Image Service.
# openstack-config --set /etc/nova/nova.conf 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. Configurelibvirt
to use QEMU:# openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu
Start the Compute service and configure it to start when the system boots:
# service libvirtd start # chkconfig libvirtd on # service openstack-nova-compute start # chkconfig openstack-nova-compute on