Professional Documents
Culture Documents
TODO
Intro
Overview
File Structure
Components
REST APIs
Under the hood
Configuration: Open vSwitch plugin
How does the plugin get loaded?
Why is there a agent for the Open vSwitch plugin?
Resources
Intro
What is Quantum?
Network-Connectivity-as-a-Service for OpenStack
Goal
Provides an API to dynamically request and configure
virtual networks
Intro
VM
A1
Tenant View
VM
A2
VM
B1
Network A
Phy Srv 1
VM
A1
Hypervisor
VM
B2
Network B
Phy Srv 3
Phy Srv 2
VM
B1
Hypervisor
Provider View
Data Centre Network
VM
B2
VM
A2
Hypervisor
Intro
Nova
VM1
10.0.0.2
virtual server
VM2
10.0.0.3
virtual interface
(VIF)
3
2
Quantum
Net1
10.0.0.0/24
virtual port
L2 virtual
network
Subnet
Intro
TenantA-VM1
10.0.0.2
TenantA-VM4
172.16.0.30
TenantA-VM2
10.0.0.3 9.0.0.3
Tenant-A Net1
10.0.0.0/24
Tenant-A Net3
172.16.0.0/24
Tenant-A Net2
10.0.1.0/24
Not
necessarily a
VM!
VPN
Tenant-A On
Premise Net
172.16.0.0/24
TenantA-VM3
10.0.1.2
Public Net
88.0.0.0/18
File Structure
extensions
choose
one
start
File Structure
agent
implementations
handler
setup
api-pate.ini
extension
implementations
Components
Plugins
Cloud Operators weigh trade-offs, choose a plugin
Components
API Extentions
QoS, SLA, L3 forwarding, Security, Metering, etc.
10
Overview
RPC
11
Overview
http://wiki.openstack.org/Quantum?action=AttachFil
e&do=get&target=quantum-technical-archicture.ppt
Dhcp agent
quantum-server
get_active_networks
get_network_info
get_dhcp_port
release_dhcp_port
release_port_fixed_ip
update_lease_expiration
Plugin agent
Quantum
topic
Exchange:
Queue:
Comsumer:
12
network_delete
q-plugin
quantum-server
notifications.info
Dhcp agent
tunnel_update
port_update
q-agent-notifiernetwork-delete_fanout
fanout
q-agent-notifiertunnel-update_fanout
fanout
q-agent-notifierport-update_fanout
fanout
q-agent-notifiernetwork-delete_fanout
_{uuid4}
q-agent-notifiertunnel-update_fanout
_{uuid4}
q-agent-notifierport-update_fanout
_{uuid4}
Plugin agent
Rest APIs
Networks
Represents an L2 network segment
quantum/api/v2/attributes.py
13
Rest APIs
Subnets
Represents a range of IP addresses
Allocated to devices
API request specifications
o quantum/api/v2/attributes.py
14
Rest APIs
Ports
A connection point of a device to attach to a L2 Quantum
network
Allocated to devices
http://docs.openstack.org/api/openstack-network/1.0/content/Ports.html
15
Edit etc/quantum/plugins.ini
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin
Edit etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
mysql://root:nova@127.0.0.1:3306/ovs_quantum
NOTE: The database IP address in the file should be reachable by all compute nodes.
17
18
19
20
21
22
23
24
25
26
27
28
29
Resources
http://github.com/openstack/quantum
http://wiki.openstack.org/Quantum
http://docs.openstack.org/api/openstack-network/1.0/content/
http://docs.openstack.org/trunk/openstack-network/admin/content/index.html
http://openvswitch.org/openstack/documentation/
30