This was a tutorial which Mark McClain and I led at ONUG, Spring 2015. It was well received and serves as a walk through of OpenStack Neutron and it's features and usage.
4. About OpenStack
● Open Source project founded in 2010
● 1,786 Unique Developers during Kilo
● A growing ecosystem of projects
○ With a new governance model!
● Production Ready
● Latest Release 2015.1 - Kilo (11th Release)
● Apache 2 Licensed
12. Types of Network Traffic
● Management
○ Internal communication between services
● API
○ Exposes OpenStack APIs to users of the cloud
● Guest
○ A network dedicated to instance traffic
● External
○ Provides Neutron routers with network access
18. When To Use Provider Networks?
● Mapping Neutron install into existing
network environment
● Small number of tenants
● Want to perform routing with existing
routers (physical or virtual)
● Little or no interest in floating IPs
19. Neutron With Overlays (and L2 gateways!)
Compute
Host
Compute
Host
Compute
Host
Network
Node
Underlay Network
L2 Gateway
Node
L2 Gateway node
handles translating
between overlay
networks to VLAN
networks
Network
node
handles L3
routing N/S,
and SNAT
when used
with DVR
DVR routes E/W
traffic and performs
DNAT locally
20. When To Use Neutron With Overlays?
● Large number of tenant networks
● Floating IPs central to installation
22. Thank you to our sponsor!
● Two options for gaining access to provided VMs
○ Join “tutorial” wifi network (password openstackneutron)
○ OR
○ ssh into the jumphost as “onug@67.205.58.120”
● Username/password for VMs: onug / ONUG2015
23. Components used in the tutorial
All-In-One Control/Compute Node (Ubuntu 14.04.1)
nova
glance
keystone
neutron
neutron l2
neutron l3
metadata
dhcp
Open vSwitch
rabbitmq
24. Tutorial Assumptions
● You are using a devstack install on a cloud
VM provided by Dreamhost
● The Tutorial uses the Kilo release of
OpenStack
25. Neutron Networks and Subnets
In this section, we’ll cover basic Neutron
operations around networks, ports and subnets
27. Neutron local networks
● local networks are created locally on the host
○ traffic is local on the node it is created on
● DHCP and metadata may not work with local
networks
● Useful for complex technologies where you
want to keep some traffic local to a small
number of VMs on a host
28. Create a local network
neutron net-create --provider:network_type=local onug_local
29. Neutron provider networks
● Useful when using a small number of tenants
and you want to share networks created by
the admin
● Assumes L3 routing handled in existing
infrastructure
31. Tenant overlay networks
● Useful for installations with a large number
of tenants
● Allows tenants to create rich network layouts
● Allows for overlapping, shared IP address
spaces
● Can utilize floating IPs for remote access
● Utilize L2 gateways to bridge to VLAN
networks
33. Neutron subnets
● Subnets are the main L3 resource in Neutron
● Subnets can be IPv4 or IPv6
● Planning ahead for your subnets is
important
○ Note: Pluggable IPAM will be available in Liberty,
and allow for integration with existing IPAM
solutions you may have
38. Neutron Routers: Overview
● Neutron routers are per-tenant
○ Admin can create routers for tenants
● Neutron routers support both IPv4 and IPv6
● Neutron routers can route traffic between
internal and external networks
● Neutron routers can also route traffic
between internal networks
41. Neutron router ports
Neutron router
Internal
interface
Gateway
interfaceThis interface is
attached to a local
subnet
This interface is
attached to an
upstream device to
provide external
connectivity
51. Neutron subnetpools
● Allow for creation of a range of address to be
allocated to a pool
● Subnet allocation can now happen out of
that range
● Instead of requiring specific addressing, can
now utilize dynamic addressing from the
pool
55. Neutron LBaaS
We’ll walk through Neutron Load Balancing as
a Service here, creating LBaaS constructs using
the new for Kilo LBaaS V2 API
56. Neutron LBaaS V2
● Neutron LBaaS V2 is new in Kilo
○ New API with different objects and attributes
○ http://developer.openstack.org/api-ref-networking-
v2-ext.html#lbaas-v2.0
● Lets give it a try!
57. Neutron LBaas V2 Tutorial
● Create 2 nova instances on onug_overlay
network
● Setup security group rules to allow port 80
● Run simple HTTP servers in those servers
● Create LBaaS constructs to balance HTTP
requests across servers
68. Open Source Options
● Dragonflow
● OpenContrail
● OpenDaylight
● OVN
● Announced today: Akanda
69. Dragonflow
● A fully distributed virtual router using
OpenFlow and Open vSwitch
● Removes the use of namespaces on the host
for DVR
○ Implementation utilizes straight OpenFlow
71. OpenContrail
● Extensible networking system designed for
cloud networking and NFV
● Consists of two components: Controller and
vRouter
○ Controller is logically centralized by physically
distributed SDN controller
○ vRouter is a forwarding plane which runs in the
hypervisor
73. OpenDaylight
● A community led, industry supported open
source platform to support the adoption of
SDN and NFV
● A platform to allow for many different APIs
on both the north and south side
75. Open Virtual Networking (OVN)
● Compliments OVS by adding native support
for virtual networking abstractions
○ L2 and L3 overlays, security groups, etc.
● Not a general purpose SDN controller
○ Focuses on L2/L3 networking
● Tight integration with OpenStack
76. OVN
OpenStack
OVN NB Database
OVN ML2
Driver
ovn-nbd
OVN DB
ovn-controller
ovs-vswitchd ovsdb-server
ovn-controller
ovs-vswitchd ovsdb-server