Configure networking
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.
Choose one of these options to configure networking in OpenStack:
Legacy networking in OpenStack Compute, which is
described here.
The full software-defined networking stack. See .
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 restart
# 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-interface=br100 --multi-host=T