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]
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.
Quantum relies on Keystone for authentication and authorization of all API requests.
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.”
– 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