Atom feed of this document
  
 

 Chapter 8. Network Node Lab

 Days 7 to 8, 13:30 to 14:45, 15:00 to 17:00

 Network Node Lab

  1. Network Diagram :

 

Figure 8.1. 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

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...