1 / 21

Architecture of Quantum Folsom Release

Yong Sheng Gong ( 龚永生 ) gongysh@cn.ibm.com gongysh #openstack-dev Quantum Core developer. Architecture of Quantum Folsom Release. Agenda. OpenStack and Quantum Quantum Architecture Quantum models communications among quantum components. Agenda. OpenStack and Quantum

mili
Download Presentation

Architecture of Quantum Folsom Release

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yong Sheng Gong (龚永生) gongysh@cn.ibm.com gongysh #openstack-dev Quantum Core developer Architecture of Quantum Folsom Release

  2. Agenda • OpenStack and Quantum • Quantum Architecture • Quantum models • communications among quantum components

  3. Agenda • OpenStack and Quantum • Quantum Architecture • Quantum models • communications among quantum components

  4. OpenStack: six core projects that form a complete IaaS solution Compute (Nova)Provision and manage virtual machines Dashboard (Horizon)Self-service portal Image (Glance)Catalog and manage server images Identity (Keystone)Unified authentication, integrates with existing systems Network(Quantum) provide "network connectivity as a service" Object Storage (Swift)petabytes of secure, reliable object storage Provides UI for Rest API Network (Quantum) Authentication with adapted from:http://ken.pepple.info/openstack/2012/02/21/revisit-openstack-architecture-diablo/ 4

  5. Quantum-NaaS *-as-a-Service Capability OpenStack Service Compute Nova Swift (Objects) Storage Cinder (Block) Glance (Images) identity Keystone Network Quantum

  6. Openstack architecture OpenStack Network API OpenStack Network API quantum-server REST Queue l3-agent plugin-agent quantum database dhcp-agent OpenStack Identity API

  7. Flow of booting a virtual server

  8. Quantum uses network virtualization 1.Hypervisor 2.nova-scheduler 3.nova-computes 1.quantum-server 2.plugin 3.agents 8

  9. Agenda • OpenStack and Quantum • Quantum Architecture • Quantum models • communications among quantum components

  10. Components of quantum • Quantum server • Implement Qauntum API and its extensions • Enforce network model • Network, subnet, and port • IP addressing to each port • Plugin agent • Run on each compute node • Connect instances to network port • DHCP agent • In multi-host mode, run on each compute node (deferred) • Start/stop dhcp server • Maintain dhcp configuration • L3-agent • To implement floating Ips and other L3 features, such as NAT • One per network • Queue • Enhance communication between each components of quantum • DB – persistent network model l3-agent Quantum server & plugin Plugin agent DHCPagent DB Queue Note: we can share DB service and Queue with other OpenStack stack services 10

  11. Layers in Quantum server vendor can add extensions to provide more features Quantum API and extensions Common service (Validation, Authn, Authz) Quantum Core Plugin API vendor specific plugin or open source plugin: linux bridge plugin openvswitch plugin nicira … Plugin DB device 11

  12. Agenda • OpenStack and Quantum • Quantum Architecture • Quantum models • communications among quantum components

  13. Quantum models

  14. Network and physical bindings network Virtual network Model in quantum Physical network Identified by name Network binding Tenant network provider network VLAN GRE and local bindings have no physical network Flat GRE local Local binding are for devstack single box playing Linux bridge plugin has no GRE support Difference between provider network and tenant network?

  15. Other ways to view networks Shared internal networks Private internal networks internal Only fixed Ips are allocated from there. external Private external networks shared external networks we can create floating ips and router gateway on it, They should be able to access public network Other tenants besides the owner tenant can create ports on it. Only owner tenant can create ports on it. private shared

  16. A networks sample for fixed ips Host A network A local Vlan ID 1 network C local Vlan ID 3 br-int int-br-eth1-1 patch-tun patch-port veth int-br-eth1-2 network B local Vlan ID 2 phy-br-eth1-1 patch-int phy-br-eth1-2 Physnet1 vSwitch br-eth1-1 Physnet2 vSwith br-eth1-2 br-tun GRE Physical net1 vlan ID 1000 physical net2 Flat host B host C host C local vlan id <-> tunnel id done by br-tun flow local vlan id <-> physical net vlan id done by physical net and br-int vSwitch

  17. Floatingip and Router Vm 10.0.1.5/24 gw: 10.0.1.1/24 Floating ip fixed port on fixed ip network Floatingip port Router interface 10.0.1.1/24 In general, The port acting as router interface should has gateway address of subnet gw_port 7.0.1.2/24 Floating ip: 7.0.1.4/24 External network internal nework router external network vswitch br-ex eth0 l3_agent Router is used for VM to access outside Floating IP is used for outside to access VM

  18. Agenda • OpenStack and Quantum • Quantum Architecture • Quantum models • communications among quantum components

  19. AMQP communication among quantum components 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 rest api (resource CUD) get_device_details update_device_down tunnel_sync port_update network_delete tunnel_update q-agent-notifier- network-delete_fanout fanout q-agent-notifier- tunnel-update_fanout fanout q-agent-notifier- port-update_fanout fanout Exchange: Quantum topic Queue: q-agent-notifier- tunnel-update_fanout _{uuid4} q-agent-notifier- port-update_fanout _{uuid4} q-agent-notifier- network-delete_fanout _{uuid4} q-plugin notifications.info quantum-server Dhcp agent Plugin agent Comsumer:

  20. Data flow of booting a virtual server among quantum components

  21. Enjoy hacking OpenStack?

More Related