Slide was presented at Dr. Dobb's Conference in Bangalore.
Talks about Openstack Introduction in general
Projects under Openstack.
Contributing to Openstack.
This was presented jointly by CB Ananth and Rahul at Dr. Dobb's Conference Bangalore on 12th Apr 2014.
Long journey of Ruby standard library at RubyConf AU 2024
Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)
1. Dr. Dobbs Conference: 12 Apr 2014 (Bangalore)
Rahul Krishna Upadhyaya
C B Ananth Padmanabhan
2. Topics to be Covered
• What is Openstack ?
• Openstack : a Brief History
• Architecture
• Components in Openstack
• Request flow for VM creation
• Contribution Processes.
• Demo
3. What is Openstack ?
• OpenStack is a collection of open source
technologies delivering a massively scalable
cloud operating system (IaaS).
• Projects Listing: https://github.com/openstack
4. History Of Openstack
• NASA wanted to host its own high-res images without help from Google,
Microsoft or Amazon.
• Several freethinkers worked with NASA to bring up a distributed computing
environment named NASA Nebula.
• A key component of that effort was named „Nova‟
• While NASA contributed „Nova‟, which is processing power, Rackspace
contributed „swift‟, which provided storage capacity.
• Nova is similar to Amazon EC2, while swift is similar to Amazon S3
• Along with NASA, Rackspace, and a group of freethinkers, Nova emerged
into Openstack in July 2010
5. Facts and Numbers
• In 3 years of conception, Openstack has interests from over 200 companies, actively
participating in contribution and adoption.
• List can be seen at http://www.openstack.org/foundation/companies/
• Openstack Foundation is the second richest Open-source foundation today, after
Linux Foundation.
• Few renowned companies using it for production cloud. Eg. HP Cloud, Paypal,etc
• Termed as the “Linux of the Cloud”
• Exponential growth in the code base.
6. Who is Using Openstack Today ?
Complete List with User Stories : http://www.openstack.org/user-stories/
Web / SaaS/ eCommerce : PayPal , HP , Wikimedia , etc.
Academic / Research / Government : Argonne National Labs, CERN, MIT Computer Science & Artificial
Intelligence Lab (CSAIL)
Information Technology: HP, IBM, Cisco, eNovance, Opera Software, Seagate, Aptira, etc.
Film / Media / Gaming : Comcast , Sony Gaming Network.
10. Salient Features Across OpenStack
Projects
Completely Open-Sourced.
Almost Completely written in Python.
Highly Modular.
Highly Distributed – Any thing runs anywhere.
Highly Pluggable Architecture.
Highly Configurable
Highly Customizable
11. Nova (Compute Project)
Nova is the compute Project for Openstack. A large number of processes cooperate
to turn end user API requests into running virtual machines.
Instance Provisioning and VM related Operations.
Wiki Page : https://wiki.openstack.org/wiki/Nova
Salient Features.
• ReST based API
• Highly-modular framework
• Horizontally and massively scalable
• Hardware agnostic
• Can manage KVM, ESX, HyperV, vCenter, Baremetal.
Hypervisor and support : https://wiki.openstack.org/wiki/HypervisorSupportMatrix
12. Glance
OpenStack Image Store centralizes storage of virtual images that users can utilize to
start instances.
Comparable to VMware templates for easier understanding.
Wiki : https://wiki.openstack.org/wiki/Glance
Features.
• Disk images and associated metadata
• Discover, register and retrieve
• Multiple back-ends Supported.
• Multiple disk formats : raw, VHD, vmdk, vdi, qcow2, aki, ari, ami
• Multiple container formats : ovf, bare, aki, ari, ami
13. Keystone (Identity)
Framework for authentication and authorization for all services. Provides adding
users to groups (tenants) and to managing permissions.
Wiki : https://wiki.openstack.org/wiki/Keystone
Features
• Authenticate users and issue tokens for access to services
• Store users and tenants for a role-based access control (RBAC)
• Create policies across users and services
• has a pluggable backend which allows most support standard back-ends like LDAP
or SQL, as well as Key Value Stores (KVS).
14. Swift (object Store)
OpenStack‟s Object Store (“Swift”) is designed to provide large scale storage of data
that is accessible via APIs. Unlike a traditional file server, it is completely distributed,
storing multiple copies of each object to achieve greater availability and scalability.
Wiki : https://wiki.openstack.org/wiki/Swift
Features:
• Stores and retrieves objects (files)
• Versioned objects
• ReSTful interface
• Objects in containers in accounts
• No object size limit
• 3+ replication factor in separate
• Stable and deployed in production
15. Neutron (Network)
Allow users to create their own networks and then attach interfaces
Pluggable architecture to support for vendors and technologies by writing your own plugin
and agents. Earlier called Quantum.
Wiki : https://wiki.openstack.org/wiki/Neutron
Features:
• Provides networking for VMs provisioned by Openstack. SDN part of Openstack
• Configures Soft-switches and physical switches.
• Provides policies at port level. Complete segregation for tenant networks.
• Plugins available for OVS (openvirtual switch) , Nicira, Cisco Nexus, brocade, bigswitch,
etc.
18. DevStack
• It is a way in which Developers can test their code locally with Openstack instance on
their machines.
• Clones code, runs Openstack services from python code.
• Strictly not for a production deployment.
• Difference between Devstack and a install via Linux packages.
• Other places to Try Openstack :
1) TryStack : www.trystack.org
2) Openstack on VirtualBox on Laptop : http://bit.ly/1b6Y2W8
19. Testing Openstack
As a developer you need to write all the unit tests.
Integration testing is done via Tempest Framework.
Tempest checks all features via calling the APIs and also tests the CLI.
Gate Tests (part of tempest) runs at each checkin. Checks features required for
Minimum Acceptability
Smoke Tests : This is just a basic test which helps us to prevent wastage of time
since it helps us identify whether we can go ahead with further testing
Custom tests can be added to the framework for any openstack extensions.
20. Benchmarking Openstack
Rally is tool that lets you benchmark Openstack.
Can help you to Deploy openstack then run Tempest and validate Integration too.
Creates multiple users and fires multiple API calls and calculates result of
performance. Result can be put as text/graph
Various Scenarios have been included for each Openstack Project into Rally.
More on Rally : http://www.slideshare.net/sliderakrup/rally-baa-s-os-meetup-31864829
22. Release Info
• One stable release every six months.
• Current Stable Release : Codenamed Havana (Released Nov 2013)
• Previous releases: Grizzly, Folsom, Essex, Diablo, Cactus, Bexar, Austin
• Next Release : Icehouse (ETA May 2013)
• PTLs for each project in Openstack are elected by community. Also,there are
ambassadors to each country.
23. How to Contribute
Sign CLA ( Contributor‟s License Agreement )
Join Openstack Foundation.
Join Launchpad.
Create blueprint (to add features)
Pick up Bugs (starters can try :https://bugs.launchpad.net/openstack/+bugs?field.tag=low-hanging-fruit)
Get Openstack Code at https://github.com/openstack
Contribute to any area which you feel is your strength. Openstack Projects Spans across areas
involving most of the Computer Science basic concepts so there something for everyone.
Contributing to Docs are a brilliant way of contributing to Openstack and making it better and
learning the Openstack contribution Process this way.
25. Installation (FAQs)
There is no “Prescribed” way of installing Openstack as of today.
You can choose how to Install Openstack based on your ease of use and your familiarity of
components involved.
Manual Installation is very much possible but not recommended because of sheer number
of Configurations involved.This would take up lot of time and introduces high chances of
error.
Devstack is a way to test your code. It is not how you install Production Openstack.
You can use several Linux distros to install Openstack. Ubuntu and RedHat are highly
popular amongst the developers.
Some Tools available for Openstack Installation
Redhat Packstack and Foreman based installer.
Cisco Openstack Installer.
Ubuntu‟s Juju Platform.
Mirantis Fuel , etc
26. Cisco OpenStack Installer
• Puppet and Cobbler based automated deployment and configuration management.
• Significant changes in the method of Installation of Havana Release. Still uses Puppet.
• Uses Upstream Puppet Modules from Openstack Github repos.
• All efforts are completely Open-source.
COI on Havana :
http://docwiki.cisco.com/wiki/Openstack:Havana-Openstack-Installer
28. Getting Involved in Community
Get Involved
Attend Openstack Meetups in your city. Openstack India User group is
currently conducting meetups in various cities across India (Delhi, Pune,
Bangalore, Hyderabad, Chennai, Ahmedabad )
[ http://www.meetup.com/Indian-OpenStack-User-Group/]
Contribute
As a developer Contribute upstream to Openstack.
As a Non-Developer you can contribute in the following ways.
[http://ilearnstack.com/2013/06/16/685/]
Interact
Openstack mailing Lists : [ https://wiki.openstack.org/wiki/Mailing_Lists ]
Openstack IRCs : [https://wiki.openstack.org/wiki/IRC ]