Basic Overview: OpenStack Quantum

[OpenStack Quantum]

Basic Network Abstractions
– [Network] | An isolated L2 segment, analogous to VLAN
– [Subnet] | Block of v4/v6 IP addresses and config states
– [Port] | Connection point for attaching a single device to a Quantum [Network]

Plugin Support
– [openvSwitch]
– [Cisco]
– [Linux Bridge]
– [Nicira NVP]
– [Ryu]
– [NEC OpenFlow]

High Level Overview

– [plugin agent] | quantum-*-agent
Runs on each hypervisor to perform local configuration of vswitches. * = variable, dependant on plugins used (see above)
– [dhcp agent] | quantum-dhcp-agent
Provides DHCP services to tenant networks. Agent is the same for all plugins
– [l3 agent] | quantum-l3-agent
Provides L3/NAT forwarding to provide external network access for VMs on tenant networks. Agent is the same for all plugins
– [agent interaction]
agents interact with the main [quantum-server] process through Remote Procedure Calls(RPC), with RabbitMQ or qpid, OR through standard Quantum API.
– [authentication]
Quantum relies on Keystone for authentication and authorization of all API requests.
– [nova]
Nova interacts w/ Quantum through its API.
“As part of creating a VM, nova-compute[, a nova process on the Controller Node,] communicates with the Quantum API to plug each virtual NIC on the VM into a particular Quantum network.”

Hardware Requirements
– In simple deployments, the Controller Node and Network Node can be combined.
– In more complex deployments, a dedicated Network Node will avoid CPU contention between packet forwarding performed by Quantum and other OpenStack services

Infrastructure Network Architecture