Network Diagram :
Publicly editable image source at https://docs.google.com/drawings/d/1GX3FXmkz3c_tUDpZXUVMpyIxicWuHs5fNsHvYNjwNNk/edit?usp=sharing
Vboxnet0, Vboxnet1, Vboxnet2 - are virtual networks setup up by virtual box with your host machine. This is the way your host can communicate with the virtual machines. These networks are in turn used by virtual box VM’s for OpenStack networks, so that OpenStack’s services can communicate with each other.
Network Node
Start your Controller Node the one you setup in previous section.
Preparing Ubuntu 12.04
After you install Ubuntu Server, go in sudo mode
$ sudo su
Add Havana repositories:
# apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring
# echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/icehouse main >> /etc/apt/sources.list.d/icehouse.list
Update your system:
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
Install NTP and other services:
# apt-get install ntp vlan bridge-utils
Configure NTP Server to Controller Node:
# sed -i 's/server 0.ubuntu.pool.ntp.org/#server0.ubuntu.pool.ntp.org/g' /etc/ntp.conf
# sed -i 's/server 1.ubuntu.pool.ntp.org/#server1.ubuntu.pool.ntp.org/g' /etc/ntp.conf
# sed -i 's/server 2.ubuntu.pool.ntp.org/#server2.ubuntu.pool.ntp.org/g' /etc/ntp.conf
# sed -i 's/server 3.ubuntu.pool.ntp.org/#server3.ubuntu.pool.ntp.org/g' /etc/ntp.conf
Enable IP Forwarding by adding the following to
/etc/sysctl.conf
:net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0
Run the following commands:
# sysctl net.ipv4.ip_forward=1
# sysctl net.ipv4.conf.all.rp_filter=0
# sysctl net.ipv4.conf.default.rp_filter=0
# sysctl -p
Open vSwitch
Install Open vSwitch Packages:
# apt-get install -y openvswitch-switch openvswitch-datapath-dkms
Create the bridges:
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-ex
Neutron
Neutron:
# apt-get install neutron-server neutron-dhcp-agent neutron-plugin-openvswitch-agent neutron-l3-agent
Edit
/etc/neutron/api-paste.ini
:[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = neutron admin_password = service_pass
Edit
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
:#Under the database section [DATABASE] connection = mysql://neutronUser:[email protected]/neutron #Under the OVS section [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 integration_bridge = br-int tunnel_bridge = br-tun local_ip = 10.10.10.51 enable_tunneling = True tunnel_type = gre [agent] tunnel_types = gre #Firewall driver for realizing quantum security group function [SECURITYGROUP] firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
Edit
/etc/neutron/metadata_agent.ini
:# The Neutron user information for accessing the Neutron API. auth_url = http://10.10.10.51:35357/v2.0 auth_region = RegionOne admin_tenant_name = service admin_user = neutron admin_password = service_pass # IP address used by Nova metadata server nova_metadata_ip = 10.10.10.51 # TCP Port used by Nova metadata server nova_metadata_port = 8775 metadata_proxy_shared_secret = helloOpenStack
Edit
/etc/neutron/dhcp_agent.ini
:interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
Edit
/etc/neutron/l3_agent.ini
:[DEFAULT] interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver external_network_bridge = br-ex
Edit
/etc/neutron/neutron.conf
:rabbit_host = 10.10.10.51 #And update the keystone_authtoken section [keystone_authtoken] auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = neutron admin_password = service_pass signing_dir = /var/lib/neutron/keystone-signing [database] connection = mysql://neutronUser:[email protected]/neutron
Edit
/etc/sudoers.d/neutron_sudoers:
:#Modify the neutron user neutron ALL=NOPASSWD: ALL
Restart Services:
# for i in neutron-dhcp-agent neutron-metadata-agent neutron- plugin-agent neutron-l3-agent neutron-server; do service $i restart; done
Edit Network Interfaces file
/etc/network/interfaces
:auto eth2 iface eth2 inet manual up ifconfig $IFACE 0.0.0.0 up up ip link set $IFACE promisc on down ip link set $IFACE promisc off down ifconfig $IFACE down auto br-ex iface br-ex inet static address 192.168.100.52 netmask 255.255.255.0 gateway 192.168.100.1 dns-nameservers 8.8.8.8
Update your system:
# ovs-vsctl add-port br-ex eth2