Configuring OpenStack Compute

Many of the settings for Compute services are stored in the /etc/nova/nova.conf file by default. Here are the relevant settings for getting a minimal install running. Refer to the OpenStack Compute Administration Manual for guidance on more configuration options.

[Note]Note

In the Essex release, the nova.conf file format changed from flags (--name=value) to INI file format (name=value). The Compute service will function properly with either format.

The default nova.conf format for Essex packages varies by distribution. Fedora packages use the new INI style format, and Ubuntu 12.04 packages use the old flag format. By convention, this guide uses the new INI style format.

You can automatically convert a nova.conf file from flag format to INI format using nova-manage:

$ nova-manage config convert --help
Usage: nova-manage config convert <args> [options]


Options:
  -h, --help        show this help message and exit
  --infile=<path>  old-style flagfile to convert to config
  --outfile=<path>  path for output file. Writes configto stdout if not
                    specified

The packages automatically do these steps for a user named nova, but if you are installing as another user you should ensure that the nova.conf file should have its owner set to root:nova, and mode set to 0640, since the file contains your MySQL server’s username and password. This packaged install ensures that the nova user belongs to the nova group and that the .conf file permissions are set, but here are the manual commands, which should be run as root:

# groupadd nova
# usermod -g nova nova
# chown -R root:nova /etc/nova
# chmod 640 /etc/nova/nova.conf

The hypervisor is set either by editing /etc/nova/nova.conf or referring to nova-compute.conf in the nova.conf file. The hypervisor defaults to kvm, but if you are working within a VM already, switch to qemu on the libvirt_type= line. To use Xen, refer to the overview in this book for where to install nova components.

Ensure the database connection defines your backend data store by adding a sql_connection line to nova.conf: sql_connection=mysql://[user]:[pass]@[primary IP]/[db name], such as sql_connection=mysql://nova:yourpassword@192.168.206.130/nova.

Add these settings to /etc/nova/nova.conf for the network configuration assumptions made for this installation scenario. You can place comments in the nova.conf file by entering a new line with a # sign at the beginning of the line. To see a listing of all possible configuration option settings, see http://wiki.openstack.org/NovaConfigOptions.

auth_strategy=keystone
network_manager=nova.network.manager.FlatDHCPManager
fixed_range=192.168.100.0/24
flat_network_dhcp_start=192.168.100.2
public_interface=eth0
flat_interface=eth0
flat_network_bridge=br100

Here is an example nova.conf with commented sections:

[DEFAULT]

# LOGS/STATE
verbose=True

# AUTHENTICATION
auth_strategy=keystone

# SCHEDULER
compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler

# VOLUMES
volume_group=nova-volumes
volume_name_template=volume-%08x
iscsi_helper=tgtadm

# DATABASE
sql_connection=mysql://nova:yourpassword@192.168.206.130/nova

# COMPUTE
libvirt_type=qemu
connection_type=libvirt
instance_name_template=instance-%08x
api_paste_config=/etc/nova/api-paste.ini
allow_resize_to_same_host=True

# APIS
osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
ec2_dmz_host=192.168.206.130
s3_host=192.168.206.130

# RABBITMQ
rabbit_host=192.168.206.130

# GLANCE
image_service=nova.image.glance.GlanceImageService
glance_api_servers=192.168.206.130:9292

# NETWORK
network_manager=nova.network.manager.FlatDHCPManager
force_dhcp_release=True
dhcpbridge_flagfile=/etc/nova/nova.conf
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
my_ip=192.168.206.130
public_interface=br100
vlan_interface=eth0
flat_network_bridge=br100
flat_interface=eth0
fixed_range=10.0.0.0/24

# NOVNC CONSOLE
novncproxy_base_url=http://192.168.206.130:6080/vnc_auto.html
vncserver_proxyclient_address=192.168.206.130
vncserver_listen=192.168.206.130

You also need to configure the api-paste.ini file to enable Keystone as the Identity service. An example api-paste.ini file is included in the Appendix. Update the /etc/nova/api-paste.ini file according to the sample file.

Restart the nova- services prior to running db sync, by running as root:

# restart nova-api
# restart nova-compute
# restart nova-network
# restart nova-scheduler
# restart nova-vncproxy
# restart nova-volume



loading table of contents...