Upload
subbarao-appanabhotla
View
243
Download
3
Embed Size (px)
DESCRIPTION
Openstack Dc Python
Citation preview
OpenStack architecture: a high-‐level view
Lorin Hochstein Nimbis Services
[email protected] @lhochstein
Where we’re going today
• What is OpenStack? • What does the architecture look like? • How do I get access to an OpenStack cloud? • How do I get involved with the project?
What is OpenStack?
OpenStack provides users access to compute, networking and storage
Access compute resources
Start 5 servers, each with:• 2 CPUs• 4 GB of RAM• 20 GB of storage
User Suspend server "X"
Snapshot server "X"
Access networking resources
Create private network withsubnet 10.2.12.0/24
User
Attach IP address 203.0.113.19 to server "X"
Allow access to ports 80 and 443 for the
"web" group
Access block storage resources, which aGach to servers like disks
Create a 100 GB data volume and attach it to
server "X"
User
Take a snapshot of volume "Q"
Access object storage resources, which are accessed over HTTP
Store file family.png in container "photos"
UserMake file logo.png in
container "acme" visible to everyone
OpenStack includes a web-‐based Dashboard service
Credit: OpenStack Compute Admin Guide
Users can also make requests with command-‐line tools or REST API
$ nova boot --image precise --flavor m1.small myinstance
Client
HTTP POST/servers
{ "server": { "imageRef": ... "flavorRef": ... "name": "myinstance", }}
Also... Python APIs! import novaclient.v1_1.client as nvclientcreds = ...nova = nvclient.Client(**creds)image = nova.images.find(name="precise")flavor = nova.flavors.find(name="m1.small")nova.servers.create(image=image, flavor=flavor, name="myinstance")
ECO
SYST
EM S
IZE
(Mem
bers
+ S
pons
ors
+ Su
ppor
ters
)
CUMULATIVE CONTRIBUTORS
AVERAGE MONTHLY CONTRIBUTORS
PATCHESMERGED
998 230 7,260
(Grizzly Release Cycle – Six Months)
209Companies
Members: 24 TotalSponsors: 35 Total
Supporters: 150 Total
TOP 10 Countries 1) United States2) China3) India4) Great Britain5) Australia
9,511 6) France7) Russia8) Canada9) Ireland10) Germany IN
DIVI
DUAL
MEM
BERS
Project is very acRve with many contributors
Credit: hGp://www.openstack.org/assets/markeRng/presentaRons/GenericPlaTormDeckMay-‐23-‐2013.pptx
Data from May 2013
Large industry players among OpenStack plaRnum & gold members
8
Credit: hGp://www.openstack.org/assets/markeRng/presentaRons/GenericPlaTormDeckMay-‐23-‐2013.pptx
No single company dominates the project
Credit: stackalyRcs.com
Metric: lines of code Release: Havana Projects: all
What does the architecture look like?
System is implemented as a collecRon of RESTful web services
Credit: hGp://www.solinea.com/2013/06/15/ openstack-‐grizzly-‐architecture-‐revisited/
Compute service manages virtual machines on compute nodes
Image service provides a catalog of virtual machine images
IdenRty service handles authenRcaRon and maintains a catalog of all services
Network service manages network connecRvity for virtual machines
Block storage service manages block devices that aGach to virtual machines
Object storage service manages binary objects (files) accessed via HTTP
Dashboard service provides web interface for end-‐users & admins
Let’s look at an example
Alice is a web dev who needs an Ubuntu server to deploy her app for tesRng
Start a server using the ‘ubuntu12.04’ image and a8ach it to network ‘mynet’
1. Get the compute endpoint and an authenRcaRon token
2. Start a new compute server
3. Download the ubuntu12.04 image
4. Retrieve the image from the object store
5. Get info to determine how to connect the virtual machine to the ‘mynet’ network
6. Start the virtual machine
Alice sees that her server is now running and connects to it via ssh.
Each OpenStack service is implemented as Linux daemons
Example: Compute Service
Daemons use non-‐blocking I/O with eventlet to handle mulRple requests
OpenStackdaemon
Eventlet
Daemons maintain persistent state using an SQL database via SQLAlchemy
OpenStackdaemon
SQLAlchemy
Daemons communicate using remote procedure call over message queue
OpenStackdaemon
kombu
eventlet.green.zmq
qpidmessage
queue
Let’s go back to the earlier example, and zoom in on the Compute service
Credit: hGp://www.solinea.com/2013/06/ 15/openstack-‐grizzly-‐architecture-‐revisited/
“Start a new compute server” request comes in to the nova-‐api daemon
Ask nova-‐scheduler to find a compute node that can fulfill the request
Dispatch the request to nova-‐compute on a node that has enough resources
Download the image from the Image service
Get network connecRon info from Networking service
Ask the hypervisor to start the virtual machine
OpenStack is a toolkit for building clouds using third-‐party technologies
Compute
Storage Network
OpenStack uses driver-‐based architecture to support different techs
compute_driver=xenapi.XenAPIDriver
volume_driver=cinder.volume.drivers.glusterfs. GlusterfsDriver
core_plugin=neutron.plugins.ryu. ryu_neutron_plugin. RyuNeutronPluginV2
Compute service: Xen driver
Block storage service: Gluster driver
Networking service: Ryu plugin
How do I get access to an OpenStack cloud?
There are several public clouds built on OpenStack
TryStack.org is a free OpenStack sandbox for community use
DevStack: shell scripts to deploy OpenStack on a single node
How do I get involved with the project?
Community help is available via web, email & IRC
• DocumentaRon: hGp://docs.openstack.org
• Mailing lists: hGp://lists.openstack.org – [email protected] – openstack-‐[email protected]
• QA site: hGp://ask.openstack.org
• IRC: #openstack on irc.freenode.net
Project is very open to new contributors
• hGps://wiki.openstack.org/wiki/How_To_Contribute
• #openstack-‐101 on irc.freenode.net: help for new contributors
• Developer mailing list: – openstack-‐[email protected] – hGp://lists.openstack.org/cgi-‐bin/mailman/lisRnfo/openstack-‐dev
Q: Where do I start?
A: Log a bug against the documentaRon when you find something unclear or incorrect 1. Create an account on launchpad.net 2. Go to hGps://bugs.launchpad.net/
openstack-‐manuals/+bugs 3. Click on “Report a bug” in the top-‐right
Fin