SlideShare une entreprise Scribd logo
1  sur  46
Intro to OpenStack Quantum

Dan Wendlandt – Quantum Hacker & PTL
          dan@nicira.com
       twitter - danwendlandt
Caveats
• Contents may shift in flight…
• Quantum is young: there are lots of things
  that it COULD do, but doesn’t yet.
• I will not finish these slides…
Outline
• Why Quantum?
• What is Quantum?
  – Basic Concepts & Demo
  – High-level System Architecture
• Current Project Status
• Future Directions
• Frequently Asked Questions
Why Quantum?
What is OpenStack?
• Open Source Cloud Software…
• A collection of “cloud services”
• Each service includes:
  – A tenant-facing API that exposes
    logical abstractions for consuming
    the service.
  – One or more backend
    implementations of that API
In the beginning..
*-as-a-Service Capability      OpenStack Service

         Compute                       Nova




                                   Swift (Objects)
         Storage
                                  Glance (Images)




         Network
                                  ?
Why Quantum?
• Networking was sub-component of Nova
• Two Key Problems:
  #1: Limited technology “baked in” to design.
  #2: No tenant control of networking.
Problem #1: Technology Limitations
• Cloud stresses networks like never before:
   – High-density multi-tenancy, massive scale
   – Strict uptime requirements.
   – Integrate with legacy hosting environments /
     remote data centers.
   – Price pressure to use commodity gear.
   – VM mobility
• Nova provides only basic technologies:
   – VLANs are only option for multitenancy
   – Used simple Linux Bridge (no advanced
     QoS, ACLs, or monitoring)
                                                    VLANs are Great!
   – “network controller” node is centralized       - Stone Age Man
     single-point of failure for large networks.
Why Quantum? Reason #1
• New networking technologies are emerging to try and
  tackle these challenges.
   –   Software-defined Networking (SDN) / OpenFlow
   –   Overlay tunneling: VXLAN, NVGRE, STT
   –   Fabric solutions: FabricPath, Qfabric, etc.
   –   [ insert other solution here ]

• Quantum provides a “plugin” mechanism to enable
  different technologies implement calls made via the
  Quantum API.

• Choice is a good thing!
Problem #2: No Tenant Control
• Cloud tenants want to replicate rich
  enterprise network topologies:
   – Ability to create “multi-tier” networks
     (e.g., web tier, app tier, db tier)
   – Control over IP addressing.
   – Ability to insert and configure your
     own services (e.g., firewall, IPS)
   – VPN/Bridge to remote physical hosting
     or customer premises.
• Nova provides no tenant control:             “You can have any color as long
   – No way to control topology.               as its black.“
                                               - Henry Ford about the Model-T
   – Cloud assigns IP prefixes + addresses.
   – No generic service insertion.
Why Quantum? Reason #2
• Base Quantum API lets tenants create multiple
  private networks, control IP addressing on them.
• Quantum API extensions enable additional
  control:
   – Security & Compliance Policies
   – Quality-of-Service
   – Monitoring + Troubleshooting
• “Advanced Network Services” such as
  firewall, intrusion detection, VPN, can be inserted
  either as VMs that route between networks, or as
  API extensions.
All is Right with the World…
*-as-a-Service Capability   OpenStack Service

        Compute                     Nova




                                Swift (Objects)
        Storage
                               Glance (Images)




        Network                   Quantum
Why Quantum?

 Questions?
What is Quantum?
Quantum Basics (by analogy to Nova)
                                     Nova                            Quantum
*-as-a-service           Compute                       Network

Major API abstractions   “virtual servers”: represents “virtual networks”:
                         a host with CPU, memory,      A basic L2 network segment.
                         disk, and NICs.               “virtual ports”:
                                                       Attachment point for devices
                                                       connecting to virtual networks.
Interactions with other virtual servers use “virtual   virtual ports are linked to vNICs on
OpenStack services.     images” from Glance.           “virtual servers”.

Supports different       “virt-drivers” for KVM,       “plugins” for Open vSwitch Cisco
back-end technologies    XenServer, Hyper-V,           UCS, Linux Bridge, Nicira NVP, Ryu
                         VMWare ESX                    Controller (and more!).

API Extensibility for    keypairs, instance rescue,    quality-of-service, port statistics,
new or back-end          volumes, etc.                 security groups, etc.
specific features.
API Abstractions

             VM1                VM2           virtual server
Nova        10.0.0.2           10.0.0.3
                                          virtual interface (VIF)


                                            virtual port
Quantum             Net1
                                          virtual network
                 10.0.0.0/24
Quantum Rest API Abstraction Details
• Virtual Networks:
    – Equivalent to a “virtual VLAN”, a dedicated L2 segment.
    – Example: quantum.foo.com/<tenant-id>/network/<network-id>

• Virtual Ports:
    – Where a virtual interface (e.g., Nova vNIC) attaches to a network.
    – Example: quantum.foo.com/<tenant-id>/network/<network-
      id>/port/<port-id>

• API Extensions:
    – Can add properties to existing network/port abstractions (e.g., QoS
      settings for a virtual port).
    – Can introduce new API entities (e.g., Security Groups that are linked to
      ports, or L3 + NAT Forwarding Elements that attach to networks).
Old Model: Static Nova Networking
       TenantA-VM1    TenantB-VM1     TenantA-VM2   TenantA-VM3
         88.0.0.2       88.0.0.3        88.0.0.4      88.0.0.5




                         Public Net
                        88.0.0.0/18




  • Single network exists (per-project or global).
  • VMs automatically get a vNIC on that single network on boot.
  • Tenants have no control over IP addressing.
Quantum Model: Dynamic Network
     Creation + Association
                           TenantA-VM2           TenantA-VM3
          TenantA-VM1
                             10.0.0.3               9.0.0.2
            10.0.0.2
                              9.0.0.3



                        Tenant-A Net1          Tenant-A Net2
                         10.0.0.0/24             9.0.0.0/24



 Public Net
88.0.0.0/18
                 • Tenant can use API to create many networks.
                 • When booting a VM, define which network(s) it
                   should connect to.
                 • Can even plug-in instances from other services
                   (e.g., a load-balancing service).
Quantum Architecture Basics
• “Plugin” model give cloud operators choices:
   –   Advanced Features (exposed as API extensions)
   –   Cost
   –   Scale
   –   High Availability
   –   Hypervisor + Network HW Compatibility
   –   Manageability / Polish
• Abstract logical API
   – tenants don’t see underlying technologies
   – Example: VLANs vs. tunneling
A bit about plugins (more later!)
• A common point of confusion.
• Define “quantum plugin”:
  Code that communicates with network devices to
  implement a particular set of Quantum API calls.
• API currently has one set of calls for “base L2”
  networking => one plugin running at a time.
• A plugin is not a “driver”. A single plugin can
  talk to different types of network devices.
Quantum Architecture (simple)
API Clients                    Quantum Server
                                                                       Internal plugin
                              Quantum                                 communication.
            Uniform API
            for all clients     API            Quantum
                                                Plugin
  Tenant                      Create-net
  Scripts                          .            Create-net
                                                                                  virtual switch
                                                                             Nova Compute
                                   .                .
 Horizon                                                                      Nova Compute
                                   .                .                          Nova Compute
                              Create-port                                        Nova Compute
  Nova                                              .
                                               Create-port
                                                                                Interfaces from a service
                                  API                                             like Nova plug into a
                              Extensions                         DB              switch manages by the
                                                                                     Quantum plugin.

                                API + Plugin = Quantum Service
Quantum Architecture (advanced)
                                                                                     External
API Clients                    Quantum Server                                        Manager
                                                                                                    DB
                                                                       Internal plugin
            Uniform API       Quantum
                                                                      communication.
            for all clients     API            Quantum
                                                Plugin
  Tenant                      Create-net
  Scripts                          .            Create-net
                                                                                   virtual switch
                                                                              Nova Compute
                                   .                .
 Horizon                                                                       Nova Compute
                                   .                .                           Nova Compute
                              Create-port                                         Nova Compute
  Nova                                              .
                                               Create-port
                                                                                 Interfaces from a service
                                  API                                              like Nova plug into a
                              Extensions                         DB               switch manages by the
                                                                                      Quantum plugin.

                                API + Plugin = Quantum Service
Current Project Status
Project Status: Essex Cycle
•   Started at Diablo summit, “incubated” for Essex, “core” in Folsom.
•   Available at: http://launchpad.net/quantum
•   Docs at: http://docs.openstack.org/incubation/
•   Current Capabilities:
     –   v1.1 of the Quantum L2 API, with extension support.
     –   API client library and CLI
     –   Nova Integration via the QuantumManager
     –   Plugin framework & several publicly available plugins:
          •   Open vSwitch Plugin
          •   Cisco UCS/Nexus Plugin
          •   Linux Bridge Plugin
          •   Nicira Network Virtualization Platform (NVP)
          •   Ryu OpenFlow Controller
     – Integrated with “devstack” (see:
       http://wiki.openstack.org/QuantumDevstack)
     – Packaging for Ubuntu 12.04 / Fedora 17 / Debian .
Project Status: Two Deployment Models
• Proxied Quantum (available now):
   – QuantumManager in Nova is only Quantum API client.
   – Cloud admin must define networks with nova-manage.
   – Tenant can place VMs on different networks using nova
     extension (--nic option in nova client).
   – Allows cloud provider to leverage advanced networking
     technologies, but doesn’t give tenant’s network control.
• Direct Quantum (Folsom Target):
   – Tenants can create their own networks, determine their own IP
     addressing via Quantum API.
   – Tenants can insert other logical services exposed by service
     provider (e.g., router, VPN) using extensions.
   – Requires Keystone Authn/Authz for API and a tenant API for
     IPAM (i.e., Melange)
Project Status: Who should use Quantum?

• “Early adopters” already putting Quantum into
  trial & production OpenStack deployments.
• Caution: Deployments are by people at the
  cutting edge, require significant familiarity with
  Quantum.
• Folsom release will be first target for
  widespread adoption.
Project status: Try it Yourself
• Now integrated with DevStack
• http://wiki.openstack.org/QuantumDevstack
• Use nova-manage to create networks (i.e.
  proxied mode)
• Spin up VMs with -- nic option.
• See Quantum Administrator Guide for details
  – http://docs.openstack.org/incubation/openstack-
    network/admin/content/
Folsom Priorities #1
• Enable tenant control of networking
  – Keystone Authn, Authz
  – Expose IPAM to tenants (e.g., integrate Melange)
  – Rework Nova integration (remove ties to Nova DB)
  – Horizon integration, CLI rewrite.
Folsom Priorities #2
• Improve system quality + scale
  – Unit test
  – System-test
  – CI-integration
  – API scaling
Folsom Priorities #3
• Move networking from Nova to Quantum
  – L3 Forwarding + NAT/Floating IPs
  – Security Groups
  – DHCP injection
  – VPN (?)
• Follow Quantum pattern:
  – Enable tenant control by extending existing API
  – Allow pluggable backends
Developer, Developer Developers
• Folsom goals, including becoming
  default network platform, are
  VERY ambitious
• We’ll need many more developers
  to:
  – Implement new functionality
    (particularly for open source
    plugins!)
  – Be familiar enough with Quantum
    to answer user questions on
    ML, launchpad, IRC, etc.
• Let’s help grow the team.
Deeper Technical Dive
    (until we run out of time)
Basic code flow
“Create Network” in Proxied Mode

• Network created by cloud operator using
  nova-manage:
• QuantumManager (QM) in Nova calls to
  Quantum, creates network.
• QM creates IPAM subnet using Nova DB or
  Melange.
• QM stashes resulting data in Nova DB.
“Create VM” in Proxied Mode
• Tenant uses Nova API to create VM
• Extension allows VM to pass in a list of network UUIDs
  (see --nic option in novaclient)
• Nova-compute makes nova RPC call to
  “allocate_for_instance” method of network manager.
• QM creates a VIF entry in nova DB for each attached
  network.
• QM creates a Quantum port for each VIF, tells Quantum
  the associated “vif-id”.
• Nova-compute creates VM, and “vif-plugging” reports
  bindings between “vif-id” and “switch port” to Quantum
  plugin.
“Create Network” in Direct Mode
• Tenant contacts Quantum directly, passing in
  network details, including associated IPAM
  subnet.
• All data is stored in Quantum plugin (nothing
  stored in Nova).
“Create VM” in Proxied Mode
• Tenant uses Nova API to create VM
• Extension allows VM to pass in a list of    same
  network UUIDs (see --nic option in
  novaclient)
• Nova-compute makes direct REST call to
  Quantum, creating a port for each network
  (no more QM or nova-network)
• Nova-compute creates VM, and “vif-
  plugging” reports bindings between
  “quantum port” and “switch port” to
  Quantum plugin.
Plugin Details
Simple VLAN Plugin Example
• Plugin assumes all VLANs are trunked to all
  hypervisors (similar to nova-network)
• When new q-network is created, creates a DB
  entry mapping network to a free VLAN.
• Stores port + attachment mappings in DB.
• Runs agent on hypervisor to recognize new
  vswitch ports that represent Nova interfaces.
• When new vswitch port appears, agent finds q-
  port + q-network associated with interface-
  id, configures vswitch port with correct VLAN.
Persistent Data Stored by Plugins
• All persistent data (networks, ports, etc) is stored
  by the plugin, not the API layer.
• Why?
   – Data schema for plugin depends on plugin-specific
     implementation details (e.g, networks -> VLANs)
   – Data schema depends on supported extensions.
   – Plugins may make different trade-offs around
     scale, HA, data consistency, etc.
• Common data models are shared across plugins
  using a library of “base” SQLAlchemy models.
Why separate plugins + drivers?
• Plugins may make decisions that are technology, but
  not device-specific (e.g., mapping q-network ‘foo’ to
  VLAN 99).
• That decision must be made by only a single entity… if
  multiple such decisions were made by different
  plugins, they likely would conflict.
• The plugin may use drivers to communicate the results
  of this decision to different devices (e.g., it may
  configure the VLAN on a vswitch port, and tell the
  upstream physical switch to trunk that VLAN).
• Driver code can be shared across plugins with libraries.
Frequently Asked Questions
• Is OpenFlow required for Quantum
  – A: Nope! OpenFlow is just one technology that
    Quantum enables.
• Is Quantum “software-defined networking”?
  – It depends…
• How does Quantum compare to Amazon VPC?
  – A: Have similar goal of enabling advanced networking
    in cloud. Quantum will give cloud operators ability to
    compete with (and go beyond) VPC feature-set.
Bonus Slides
Basic Quantum + Nova API Flow
API Client                                      Quantum                           Nova Server
     Create Network (POST /tenant1/network)     Server

     Network UUID: ‘abc’

     Create Server (POST /tenant1/server)

     Server UUID: ‘def’

     Get Server Interface(s) (GET /tenant1/server/def/interface)

     Server Interface UUID List: * ‘ghi’ +

       Create Port on Network (POST /tenant1/network/abc/port)

      Port UUID ‘jkl’

       Attach Interface to port (PUT /tenant1/network/abc/port/jkl) , ‘attachment’ : ‘ghi’ -

       Success
Example Quantum + Nova Architecture
                                    Dashboard /
                                  Automation Tools
 Tenant API                                                   Tenant API


Quantum       Quantum API                                 Nova Service
Service
                                                  nova-scheduler       nova-api
          Quantum Plugin

                                                           Internal nova
                                                           Communication

                                   nova-compute



                                      vswitch
                                     XenServer #1
                Internal Plugin
                Communication       Hypervisor

Contenu connexe

Tendances

OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13Chiradeep Vittal
 
Nic teaming and converged fabric
Nic teaming and converged fabricNic teaming and converged fabric
Nic teaming and converged fabrichypervnu
 
Networking in the cloud: An SDN primer
Networking in the cloud: An SDN primerNetworking in the cloud: An SDN primer
Networking in the cloud: An SDN primerMidokura
 
Windows Server 8 Hyper V Networking
Windows Server 8 Hyper V NetworkingWindows Server 8 Hyper V Networking
Windows Server 8 Hyper V NetworkingAidan Finn
 
Windows server 8 hyper v networking (aidan finn)
Windows server 8 hyper v networking (aidan finn)Windows server 8 hyper v networking (aidan finn)
Windows server 8 hyper v networking (aidan finn)hypervnu
 
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)Gade Gowtham
 
Modular Quantum L2 Plugin and Agent
Modular Quantum L2 Plugin and AgentModular Quantum L2 Plugin and Agent
Modular Quantum L2 Plugin and AgentBob Kukura
 
RunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfRunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfOpenStack Foundation
 
Cloudstack collab talk
Cloudstack collab talkCloudstack collab talk
Cloudstack collab talkMidokura
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Dan Mihai Dumitriu
 

Tendances (19)

OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
 
CloudStack + SDN
CloudStack + SDNCloudStack + SDN
CloudStack + SDN
 
Nic teaming and converged fabric
Nic teaming and converged fabricNic teaming and converged fabric
Nic teaming and converged fabric
 
Networking in the cloud: An SDN primer
Networking in the cloud: An SDN primerNetworking in the cloud: An SDN primer
Networking in the cloud: An SDN primer
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Deep Dive Into Quantum
Deep Dive Into QuantumDeep Dive Into Quantum
Deep Dive Into Quantum
 
Windows Server 8 Hyper V Networking
Windows Server 8 Hyper V NetworkingWindows Server 8 Hyper V Networking
Windows Server 8 Hyper V Networking
 
Quantum Networks
Quantum NetworksQuantum Networks
Quantum Networks
 
Windows server 8 hyper v networking (aidan finn)
Windows server 8 hyper v networking (aidan finn)Windows server 8 hyper v networking (aidan finn)
Windows server 8 hyper v networking (aidan finn)
 
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)
Mondaygeneralhankinsvpn2 140605100226-phpapp01 (1)
 
Modular Quantum L2 Plugin and Agent
Modular Quantum L2 Plugin and AgentModular Quantum L2 Plugin and Agent
Modular Quantum L2 Plugin and Agent
 
RunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfRunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdf
 
Cloudstack collab talk
Cloudstack collab talkCloudstack collab talk
Cloudstack collab talk
 
Making case up
Making case upMaking case up
Making case up
 
Software Defined Networking
Software Defined NetworkingSoftware Defined Networking
Software Defined Networking
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
 

Similaire à Quantum Folsom Summit Developer Overview

OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)Dan Wendlandt
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012Dan Wendlandt
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Dan Wendlandt
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Dan Wendlandt
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNTe-Yen Liu
 
Quantum essex summary
Quantum essex summaryQuantum essex summary
Quantum essex summaryDan Wendlandt
 
Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewrajdeep
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practiceOpenCity Community
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014yfauser
 
Networking is NOT Free: Lessons in Network Design
Networking is NOT Free: Lessons in Network DesignNetworking is NOT Free: Lessons in Network Design
Networking is NOT Free: Lessons in Network DesignRandy Bias
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsyfauser
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
Secure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailSecure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailPriti Desai
 
Quantum diablo summary
Quantum diablo summaryQuantum diablo summary
Quantum diablo summaryDan Wendlandt
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and AutomationAdam Johnson
 

Similaire à Quantum Folsom Summit Developer Overview (20)

OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
 
Quantum essex summary
Quantum essex summaryQuantum essex summary
Quantum essex summary
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overview
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practice
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
Networking is NOT Free: Lessons in Network Design
Networking is NOT Free: Lessons in Network DesignNetworking is NOT Free: Lessons in Network Design
Networking is NOT Free: Lessons in Network Design
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetups
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
NaaS
NaaSNaaS
NaaS
 
NaaS
NaaSNaaS
NaaS
 
Secure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailSecure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrail
 
Quantum diablo summary
Quantum diablo summaryQuantum diablo summary
Quantum diablo summary
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 

Dernier

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingSelcen Ozturkcan
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Quantum Folsom Summit Developer Overview

  • 1. Intro to OpenStack Quantum Dan Wendlandt – Quantum Hacker & PTL dan@nicira.com twitter - danwendlandt
  • 2. Caveats • Contents may shift in flight… • Quantum is young: there are lots of things that it COULD do, but doesn’t yet. • I will not finish these slides…
  • 3. Outline • Why Quantum? • What is Quantum? – Basic Concepts & Demo – High-level System Architecture • Current Project Status • Future Directions • Frequently Asked Questions
  • 5. What is OpenStack? • Open Source Cloud Software… • A collection of “cloud services” • Each service includes: – A tenant-facing API that exposes logical abstractions for consuming the service. – One or more backend implementations of that API
  • 6. In the beginning.. *-as-a-Service Capability OpenStack Service Compute Nova Swift (Objects) Storage Glance (Images) Network ?
  • 7. Why Quantum? • Networking was sub-component of Nova • Two Key Problems: #1: Limited technology “baked in” to design. #2: No tenant control of networking.
  • 8. Problem #1: Technology Limitations • Cloud stresses networks like never before: – High-density multi-tenancy, massive scale – Strict uptime requirements. – Integrate with legacy hosting environments / remote data centers. – Price pressure to use commodity gear. – VM mobility • Nova provides only basic technologies: – VLANs are only option for multitenancy – Used simple Linux Bridge (no advanced QoS, ACLs, or monitoring) VLANs are Great! – “network controller” node is centralized - Stone Age Man single-point of failure for large networks.
  • 9. Why Quantum? Reason #1 • New networking technologies are emerging to try and tackle these challenges. – Software-defined Networking (SDN) / OpenFlow – Overlay tunneling: VXLAN, NVGRE, STT – Fabric solutions: FabricPath, Qfabric, etc. – [ insert other solution here ] • Quantum provides a “plugin” mechanism to enable different technologies implement calls made via the Quantum API. • Choice is a good thing!
  • 10. Problem #2: No Tenant Control • Cloud tenants want to replicate rich enterprise network topologies: – Ability to create “multi-tier” networks (e.g., web tier, app tier, db tier) – Control over IP addressing. – Ability to insert and configure your own services (e.g., firewall, IPS) – VPN/Bridge to remote physical hosting or customer premises. • Nova provides no tenant control: “You can have any color as long – No way to control topology. as its black.“ - Henry Ford about the Model-T – Cloud assigns IP prefixes + addresses. – No generic service insertion.
  • 11. Why Quantum? Reason #2 • Base Quantum API lets tenants create multiple private networks, control IP addressing on them. • Quantum API extensions enable additional control: – Security & Compliance Policies – Quality-of-Service – Monitoring + Troubleshooting • “Advanced Network Services” such as firewall, intrusion detection, VPN, can be inserted either as VMs that route between networks, or as API extensions.
  • 12. All is Right with the World… *-as-a-Service Capability OpenStack Service Compute Nova Swift (Objects) Storage Glance (Images) Network Quantum
  • 15. Quantum Basics (by analogy to Nova) Nova Quantum *-as-a-service Compute Network Major API abstractions “virtual servers”: represents “virtual networks”: a host with CPU, memory, A basic L2 network segment. disk, and NICs. “virtual ports”: Attachment point for devices connecting to virtual networks. Interactions with other virtual servers use “virtual virtual ports are linked to vNICs on OpenStack services. images” from Glance. “virtual servers”. Supports different “virt-drivers” for KVM, “plugins” for Open vSwitch Cisco back-end technologies XenServer, Hyper-V, UCS, Linux Bridge, Nicira NVP, Ryu VMWare ESX Controller (and more!). API Extensibility for keypairs, instance rescue, quality-of-service, port statistics, new or back-end volumes, etc. security groups, etc. specific features.
  • 16. API Abstractions VM1 VM2 virtual server Nova 10.0.0.2 10.0.0.3 virtual interface (VIF) virtual port Quantum Net1 virtual network 10.0.0.0/24
  • 17. Quantum Rest API Abstraction Details • Virtual Networks: – Equivalent to a “virtual VLAN”, a dedicated L2 segment. – Example: quantum.foo.com/<tenant-id>/network/<network-id> • Virtual Ports: – Where a virtual interface (e.g., Nova vNIC) attaches to a network. – Example: quantum.foo.com/<tenant-id>/network/<network- id>/port/<port-id> • API Extensions: – Can add properties to existing network/port abstractions (e.g., QoS settings for a virtual port). – Can introduce new API entities (e.g., Security Groups that are linked to ports, or L3 + NAT Forwarding Elements that attach to networks).
  • 18. Old Model: Static Nova Networking TenantA-VM1 TenantB-VM1 TenantA-VM2 TenantA-VM3 88.0.0.2 88.0.0.3 88.0.0.4 88.0.0.5 Public Net 88.0.0.0/18 • Single network exists (per-project or global). • VMs automatically get a vNIC on that single network on boot. • Tenants have no control over IP addressing.
  • 19. Quantum Model: Dynamic Network Creation + Association TenantA-VM2 TenantA-VM3 TenantA-VM1 10.0.0.3 9.0.0.2 10.0.0.2 9.0.0.3 Tenant-A Net1 Tenant-A Net2 10.0.0.0/24 9.0.0.0/24 Public Net 88.0.0.0/18 • Tenant can use API to create many networks. • When booting a VM, define which network(s) it should connect to. • Can even plug-in instances from other services (e.g., a load-balancing service).
  • 20. Quantum Architecture Basics • “Plugin” model give cloud operators choices: – Advanced Features (exposed as API extensions) – Cost – Scale – High Availability – Hypervisor + Network HW Compatibility – Manageability / Polish • Abstract logical API – tenants don’t see underlying technologies – Example: VLANs vs. tunneling
  • 21. A bit about plugins (more later!) • A common point of confusion. • Define “quantum plugin”: Code that communicates with network devices to implement a particular set of Quantum API calls. • API currently has one set of calls for “base L2” networking => one plugin running at a time. • A plugin is not a “driver”. A single plugin can talk to different types of network devices.
  • 22. Quantum Architecture (simple) API Clients Quantum Server Internal plugin Quantum communication. Uniform API for all clients API Quantum Plugin Tenant Create-net Scripts . Create-net virtual switch Nova Compute . . Horizon Nova Compute . . Nova Compute Create-port Nova Compute Nova . Create-port Interfaces from a service API like Nova plug into a Extensions DB switch manages by the Quantum plugin. API + Plugin = Quantum Service
  • 23. Quantum Architecture (advanced) External API Clients Quantum Server Manager DB Internal plugin Uniform API Quantum communication. for all clients API Quantum Plugin Tenant Create-net Scripts . Create-net virtual switch Nova Compute . . Horizon Nova Compute . . Nova Compute Create-port Nova Compute Nova . Create-port Interfaces from a service API like Nova plug into a Extensions DB switch manages by the Quantum plugin. API + Plugin = Quantum Service
  • 25. Project Status: Essex Cycle • Started at Diablo summit, “incubated” for Essex, “core” in Folsom. • Available at: http://launchpad.net/quantum • Docs at: http://docs.openstack.org/incubation/ • Current Capabilities: – v1.1 of the Quantum L2 API, with extension support. – API client library and CLI – Nova Integration via the QuantumManager – Plugin framework & several publicly available plugins: • Open vSwitch Plugin • Cisco UCS/Nexus Plugin • Linux Bridge Plugin • Nicira Network Virtualization Platform (NVP) • Ryu OpenFlow Controller – Integrated with “devstack” (see: http://wiki.openstack.org/QuantumDevstack) – Packaging for Ubuntu 12.04 / Fedora 17 / Debian .
  • 26. Project Status: Two Deployment Models • Proxied Quantum (available now): – QuantumManager in Nova is only Quantum API client. – Cloud admin must define networks with nova-manage. – Tenant can place VMs on different networks using nova extension (--nic option in nova client). – Allows cloud provider to leverage advanced networking technologies, but doesn’t give tenant’s network control. • Direct Quantum (Folsom Target): – Tenants can create their own networks, determine their own IP addressing via Quantum API. – Tenants can insert other logical services exposed by service provider (e.g., router, VPN) using extensions. – Requires Keystone Authn/Authz for API and a tenant API for IPAM (i.e., Melange)
  • 27. Project Status: Who should use Quantum? • “Early adopters” already putting Quantum into trial & production OpenStack deployments. • Caution: Deployments are by people at the cutting edge, require significant familiarity with Quantum. • Folsom release will be first target for widespread adoption.
  • 28. Project status: Try it Yourself • Now integrated with DevStack • http://wiki.openstack.org/QuantumDevstack • Use nova-manage to create networks (i.e. proxied mode) • Spin up VMs with -- nic option. • See Quantum Administrator Guide for details – http://docs.openstack.org/incubation/openstack- network/admin/content/
  • 29. Folsom Priorities #1 • Enable tenant control of networking – Keystone Authn, Authz – Expose IPAM to tenants (e.g., integrate Melange) – Rework Nova integration (remove ties to Nova DB) – Horizon integration, CLI rewrite.
  • 30. Folsom Priorities #2 • Improve system quality + scale – Unit test – System-test – CI-integration – API scaling
  • 31. Folsom Priorities #3 • Move networking from Nova to Quantum – L3 Forwarding + NAT/Floating IPs – Security Groups – DHCP injection – VPN (?) • Follow Quantum pattern: – Enable tenant control by extending existing API – Allow pluggable backends
  • 32. Developer, Developer Developers • Folsom goals, including becoming default network platform, are VERY ambitious • We’ll need many more developers to: – Implement new functionality (particularly for open source plugins!) – Be familiar enough with Quantum to answer user questions on ML, launchpad, IRC, etc. • Let’s help grow the team.
  • 33. Deeper Technical Dive (until we run out of time)
  • 35. “Create Network” in Proxied Mode • Network created by cloud operator using nova-manage: • QuantumManager (QM) in Nova calls to Quantum, creates network. • QM creates IPAM subnet using Nova DB or Melange. • QM stashes resulting data in Nova DB.
  • 36. “Create VM” in Proxied Mode • Tenant uses Nova API to create VM • Extension allows VM to pass in a list of network UUIDs (see --nic option in novaclient) • Nova-compute makes nova RPC call to “allocate_for_instance” method of network manager. • QM creates a VIF entry in nova DB for each attached network. • QM creates a Quantum port for each VIF, tells Quantum the associated “vif-id”. • Nova-compute creates VM, and “vif-plugging” reports bindings between “vif-id” and “switch port” to Quantum plugin.
  • 37. “Create Network” in Direct Mode • Tenant contacts Quantum directly, passing in network details, including associated IPAM subnet. • All data is stored in Quantum plugin (nothing stored in Nova).
  • 38. “Create VM” in Proxied Mode • Tenant uses Nova API to create VM • Extension allows VM to pass in a list of same network UUIDs (see --nic option in novaclient) • Nova-compute makes direct REST call to Quantum, creating a port for each network (no more QM or nova-network) • Nova-compute creates VM, and “vif- plugging” reports bindings between “quantum port” and “switch port” to Quantum plugin.
  • 40. Simple VLAN Plugin Example • Plugin assumes all VLANs are trunked to all hypervisors (similar to nova-network) • When new q-network is created, creates a DB entry mapping network to a free VLAN. • Stores port + attachment mappings in DB. • Runs agent on hypervisor to recognize new vswitch ports that represent Nova interfaces. • When new vswitch port appears, agent finds q- port + q-network associated with interface- id, configures vswitch port with correct VLAN.
  • 41. Persistent Data Stored by Plugins • All persistent data (networks, ports, etc) is stored by the plugin, not the API layer. • Why? – Data schema for plugin depends on plugin-specific implementation details (e.g, networks -> VLANs) – Data schema depends on supported extensions. – Plugins may make different trade-offs around scale, HA, data consistency, etc. • Common data models are shared across plugins using a library of “base” SQLAlchemy models.
  • 42. Why separate plugins + drivers? • Plugins may make decisions that are technology, but not device-specific (e.g., mapping q-network ‘foo’ to VLAN 99). • That decision must be made by only a single entity… if multiple such decisions were made by different plugins, they likely would conflict. • The plugin may use drivers to communicate the results of this decision to different devices (e.g., it may configure the VLAN on a vswitch port, and tell the upstream physical switch to trunk that VLAN). • Driver code can be shared across plugins with libraries.
  • 43. Frequently Asked Questions • Is OpenFlow required for Quantum – A: Nope! OpenFlow is just one technology that Quantum enables. • Is Quantum “software-defined networking”? – It depends… • How does Quantum compare to Amazon VPC? – A: Have similar goal of enabling advanced networking in cloud. Quantum will give cloud operators ability to compete with (and go beyond) VPC feature-set.
  • 45. Basic Quantum + Nova API Flow API Client Quantum Nova Server Create Network (POST /tenant1/network) Server Network UUID: ‘abc’ Create Server (POST /tenant1/server) Server UUID: ‘def’ Get Server Interface(s) (GET /tenant1/server/def/interface) Server Interface UUID List: * ‘ghi’ + Create Port on Network (POST /tenant1/network/abc/port) Port UUID ‘jkl’ Attach Interface to port (PUT /tenant1/network/abc/port/jkl) , ‘attachment’ : ‘ghi’ - Success
  • 46. Example Quantum + Nova Architecture Dashboard / Automation Tools Tenant API Tenant API Quantum Quantum API Nova Service Service nova-scheduler nova-api Quantum Plugin Internal nova Communication nova-compute vswitch XenServer #1 Internal Plugin Communication Hypervisor

Notes de l'éditeur

  1. Common to run both Quantum and Nova on the same set of controller hosts.