Enable networking
Configuring networking 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. You must
complete some minimal configuration on the controller.
If you need the full software-defined networking stack, see
.
Install the appropriate packages for compute
networking:
# apt-get install nova-network
# 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
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_host controller
# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:NOVA_DBPASS@controller/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
rabbit_host=controller
In the multi-host scenario, you also need to configure the database
access. Edit /etc/nova/nova.conf and set the
connection
variable in the [database]
section.
[database]
connection = mysql://nova:NOVA_DBPASS@controller/nova
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 keystonerc
# nova network-create vmnet --fixed-range-v4=10.0.0.0/24 \
--bridge-interface=br100 --multi-host=T