Configure networking
We are updating this material for Icehouse. You may find structure
and/or content issues during this process.
Configuring networking in OpenStack can be a bewildering experience. The
following example shows the simplest production-ready
configuration that is available: the legacy networking in
OpenStack Compute, with a flat network, that takes care of
DHCP.
This set up uses multi-host functionality. Networking is
configured to be highly available by distributing networking
functionality across multiple hosts. As a result, no single
network controller acts as a single point of failure. This process
configures each compute node for networking.
Install the appropriate packages for compute networking on the
compute node only. These packages are not required on the controller
node.
So that the nova-network service can forward metadata requests on
each compute node, each compute node must install the nova-api-metadata service, as
follows:
# apt-get install nova-network nova-api-metadata
# yum install openstack-nova-network
# zypper install openstack-nova-network
Edit the nova.conf file to define the
networking mode:
# openstack-config --set /etc/nova/nova.conf DEFAULT \
network_manager nova.network.manager.FlatDHCPManager
# openstack-config --set /etc/nova/nova.conf DEFAULT \
firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver
# openstack-config --set /etc/nova/nova.conf DEFAULT network_size 254
# openstack-config --set /etc/nova/nova.conf DEFAULT allow_same_net_traffic False
# openstack-config --set /etc/nova/nova.conf DEFAULT multi_host True
# openstack-config --set /etc/nova/nova.conf DEFAULT send_arp_for_ha True
# openstack-config --set /etc/nova/nova.conf DEFAULT share_dhcp_address True
# openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release True
# openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth1
# openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge br100
# openstack-config --set /etc/nova/nova.conf DEFAULT public_interface eth1
# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.api.API
# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api nova
Edit the
/etc/nova/nova.conf file and add these
lines to the [DEFAULT] section:
[DEFAULT]
...
network_manager=nova.network.manager.FlatDHCPManager
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
network_size=254
allow_same_net_traffic=False
multi_host=True
send_arp_for_ha=True
share_dhcp_address=True
force_dhcp_release=True
flat_network_bridge=br100
flat_interface=eth1
public_interface=eth1
Provide a local metadata service that is reachable from
instances on this compute node. Perform this step only on
compute nodes that do not run the nova-api service.
# yum install openstack-nova-api
# service openstack-nova-metadata-api start
# chkconfig openstack-nova-metadata-api on
Restart the network service:
# service nova-network restart
Start the network
service and configure it to start when the system
boots:
# service openstack-nova-network start
# chkconfig openstack-nova-network on
Create a network that virtual machines can use. Do this once
for the entire installation and not on each compute node. Run the
nova network-create command on the
controller:
$ source openrc.sh
$ nova network-create vmnet --fixed-range-v4=10.0.0.0/24 \
--bridge=br100 --multi-host=T