[Openstack-devel] Syed Armani ( GSOC Proposal )

Armaan dce3062 at gmail.com
Thu Mar 29 17:41:29 UTC 2012


*
*

   -

   *Name* : Syed Armani


   -

   *Contact/Email*: dce3062 at gmail.com, irc: irc.oftc.net#syed


   -

   *Background*: I am a Computer Science student from INDIA, I have good
   exposure of working with different languages like C/C++, Python, Shell
   Scripting, etc. I am also comfortable with Linux System Administration and
   Networking. I have sound understanding of different components of OpenStack
   and their architecture. I am following OpenStack since its inception. As
   well as I am very well connected to the OpenStack community.


   -

   *Project title: * Package an OpenStack Use Case.


   -

   *Project details*: Nova+Quantum multi-tier network provisioning with
   OpenvSwitch .

This use case discuss the ability of Quantum to let a cloud tenant create
rich multi-tier network topologies connecting Nova VMs. The components
involved are:

   - Quantum running OpenvSwitch plugin.
   - Nova running Quantum Manager as its Network Manager.
   - Simple Quantum Orchestrator that speaks to Quantum/Nova API's.
   - Single Node Setup.
   - Nova using KVM for Compute.

*Scenario*

   - Tenants can dynamically create network via API and spawn VM, User
   Creates a Layer-2 network i.e. create-network dmz-net, web-net, db-net
   - *Quantum returns network identifier, ‘xyz’.*
   -

   User Creates a VM using Cloud Controller API (e.g.: POST /Servers) and
   specifies a network for the VM’s virtual NICs in the create server request.
   -

   *The Cloud Controller dispatches the call to the Compute Service which
   creates the VM.*
   -

   Compute Service tells Quantum to create a logical port on the ‘xyz’
   network.
   -

   *Quantum creates the logical port and returns the port number.*
   -

   Compute Service instructs Quantum to plug the VM’s Virtual NIC into the
   previously created port; The Virtual NIC's unique identifier is provided in
   the request body.
   -

   *Quantum invokes the OpenvSwitch plugin to attach the Virtual NIC to the
   logical network. This operation might require the OpenvSwitch plugin to
   contact the hypervisor on which the VM has been created in order to setup
   networking according to the technology adopted by the OpenvSwitch plugin.
   *
   -

   User can verify that the attachment has been plugged into the network by
   querying Quantum for attachments for the ‘xyz’ network.
   -

   *Quantum returns a list of currently configured attachments, together
   with their state (e.g.: in Progress, Attached/DOWN, Attached/UP, Failed).
   *
   -

   When creating VMs, Tenants can specify the vNICs and the network they
   connect to.
   create-server image = fw-img nics = dmz-net
   create-server image = web-img nics = web-net, db-net
   create-server image = db-img nics=db-net

Once you wait for the VMs to boot, you can access them directly using SSH
from the local machine, which acts as the gateway and DHCP server for VMs.


*Quantum + Nova API flow*

API Client
Quantum Server                      Nova Server


Create Network (POST /tenant1/network)

--------------------------------------------------------------->

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

<---------------------------------------------------------------

To view allocated IP's run “show” at cmd, Vms can be reached directly using
SSH or VNC. To clear all existing setup , run “Delete” at cmd. This setup
will give Tenant control of Network topology, Advanced services like
firewall can be inserted. Tenants can create multiple private networks
using OpenvSwitch plugin, plugin take the networking decision. The plugin
may use drivers to communicate the results of this decision to different
devices, i.e. It may configure the VLAN on a vSwitch port and tell the
upstream physical switch to trunk the VLAN.





   -

   *Synopsis*: OpenStack Nova currently have very limited support for
   complex networking scenarios. Quantum along with various plugins help the
   System Adminstrators to implement complex networking scenarios like
   multi-tier network creation with Quantum, Creating multiple private virtual
   networks, Attaching virtual ports to virtual interfaces in cloud.
   Nova+Quantum with OpenvSwitch packages can help the debian users to easily
   manage cloud tenants and give them control to create multi-tier L2 networks.


   -

   *Benefits to Debian* : Cloud computing is not a trend anymore, it has
   become neccessity for today's Data centers. System Administrators and
   DevOps using debian to deploy their private/public cloud infrastructure
   will have more options in the form of debian packages. It will be easy for
   them to deploy complex multi-tier networking in their private or public
   cloud deployments. More options in the form of debian packages will help
   Debian GNU/Linux to become a leader in the cloud.


   -

   *Deliverables*: OpenStack Packages implementing the Use Case described
   above with proper documentation of HOWTOs and manual steps.


   -

   *Project schedule*: I can start working from first week of May 2012. The
   project will take approximately 3 months.


   -

   *Exams and other commitments*: I will be having University Exams in
   June.


   -

   *Other summer plans*: No other plans.


   -

   *Why Debian?*: Debian is the Universal Operating System.I have been
   using Debian based distros since my first introduction with Linux based
   operating systems. I have learned a lot since then. It will be a pleasure
   to work with Debian community and contribute to the growth of Debian in
   Cloud arena.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/openstack-devel/attachments/20120329/aa5468e7/attachment.html>


More information about the Openstack-devel mailing list