SlideShare a Scribd company logo
by
Mehdi AliSoltani
1
Mehdi.alisoltani@gmil.com
www.linkedin.com/in/mehdi-ali-soltani-315453b7
Agenda
2
• OpenStack Services
• OpenStack Architecture
• Nova Architecture
• Start on Codes
• Messaging in OpenStack
• OpenStack Libraries
• Request Flow in OpenStack
• OpenStack Clients
OpenStack is a cloud operating system that controls
large pools of compute, storage, and networking
resources throughout a datacenter.
What is OpenStack
3
OpenStack Services
Dashboard
Horizon
• web-based portal to
interact with underlying
OpenStack services
NOVA
COMPUTE LAYER
•Manages the compute
instances in an OpenStack
environment.
Responsibilities include
creating , scheduling and
decommissioning of virtual
machines on demand.
KEYSTONE
IDENTITY
• authentication and
authorization service for
other OpenStack services
4
OpenStack Services
CINDER
BLOCK STORAGE
• Provides persistent
block storage to
running instances
SWIFT
OBJECT STORAGE
•Stores and retrieves
arbitrary unstructured data
objects via a RESTful, HTTP
based API
GLANCE
IMAGE MANAGEMENT
• Stores and retrieves
virtual machine disk
images
5
OpenStack Services
NEUTRON
NETWORKING
•Enables Network-
Connectivity-as-a-Service for
other OpenStack services,
such as OpenStack Compute
HEAT
ORCHESTRATION
CEILOMETER
TROVE
SAHARA
6
OpenStack Architecture
7
Why Develop OpenStack
8
OpenStack Hypervisor Support Matrix
First Step
9
You should understand the codes
OpenStack Code Architecture
10
Many Teams and Many Projects
11
NOVA
NOVA
API
12
Nova Architecture
13
Nova Components
Nova-api
supports OpenStack
Compute API, Amazon's
EC2 API
communicated over HTTP,
converts the requests to
components via message
queue
Nova-
conductor
provides coordination
and database query
support for Nova
Nova-
compute
A worker daemon which
takes orders from its
message queue and
perform virtual
machine create/delete tasks
using Hypervisor's API.
14
Nova Components
Nova-
scheduler
decides which Nova
Compute Host to allot for
virtual machine request
Nova-
network
takes network related tasks
from its message queue
and performing those.
OpenStack's neutron
component can be opted
instead of nova-network.
Message
queue
All components of Nova
communicate with each
other in a non-blocking
callback-oriented manner
using AMQP protocol
15
Clone a repository from:
• https://git.openstack.org/openstack/<projectname>
• https://github.com/openstack/<projectname>
For nova :
• https://github.com/openstack/nova
• https://git.openstack.org/openstack/nova
Starting Work on Code
16
OpenStack Programming Language
You Should Know
17
Messaging in OpenStack
How messages transport in
OpenStack ?
18
Two methods:
• OpenStack components such as Nova , Cinder , Neutron communicates
internally via AMQP (Advanced Message Queue Protocol) using
RabbitMQ or Qpid
• Through each other using REST-call.
Messaging in OpenStack
19
The AMQP either RabbitMQ
or Qpid, sits between any two
Nova components and allows
them to communicate using
Remote Procedure Calls (RPC )
Message Queue in Nova
20
Message Queue in Nova
• rpc.cast :don’t wait for result
• rpc.call : wait for result (when
there is something to return)
21
Messaging Between OpenStack Services
22
OpenStack Libraries(oslo)
The Oslo project intends to produce a python library containing infrastructure code shared by
OpenStack projects including :
oslo.config
oslo.concurrency
oslo.utils
oslo.serialization
oslo.messaging
oslo.i18n
23
OpenStack Libraries(oslo.config)
A library for parsing configuration options from the command line and configuration files.
24
Parse the /etc/nova/nova.conf
and convert it to cfg object
oslo.concurrency
managing external processes and task
synchronization.
OpenStack oslo
oslo.utils
a library that provides various low-level utility modules/code, such as fileutils,
timeutils, importutils(import related utilities and helper functions)
oslo.messaging
The Oslo messaging API supports RPC
25
Request Flow for Provisioning Instance
26
OpenStack Clients
• Most OpenStack project provides a command-line client for each service
including:
• python-glanceclient
• python-novaclient
• python-keystoneclient
• …
27
• nova boot (Create new instance)
• nova reboot
• nova flavor-list(Print a list of available flavors (sizes of servers))
• nova resize (Resize the instance to new flavor)
• ….
Nova-client
• Nova client is for the Compute service provides a nova command-line
client
• Nova client is a client for the OpenStack Nova API
Some of nova commands:
28
Write New API in Nova
• If you want to write new API in Nova, you should be familiar
with nova client as well .
• For example nova resize , first shutdown the current
instance, then change the flavor and migrate it to the new
host which is selected by scheduler.
• You should know how to invoke new API by nova client
29
Resize Instance on the Same Host
• Suppose we want to have our own resize instance command
which allows to resize an instance on the same host if it is
possible(enough resources available)
• A solution
Check if possible to resize on place
If OK, Shutdown the instance
Take a snapshot
Create a new instance with the new flavor on the same
host
Boot instance with the snapshot image
Delete the old instance
30
• Many commands in
OpenStack novaclient
following same
process
• Suppose Libvirt is
used as compute
driver
Command Flow
31
• Account Setup: You need a Launchpad account
• Join OpenStack Foundation
• Log Into Gerrit Review System
• Install git
• Clone the codes
• Working on Bugs
How to Contribute in OpenStack
32
33

More Related Content

What's hot

Openstack in 10 mins
Openstack in 10 minsOpenstack in 10 mins
Openstack in 10 mins
Dawood M.S
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Belmiro Moreira
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
rajdeep
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Stephen Gordon
 
Cloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodeCloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute Node
Palak Sood
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
openstackindia
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
Steven Li
 
OpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdfOpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdf
OpenStack Foundation
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
Jinho Shin
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
Sreenivas Makam
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2School
Asaf Abres
 
Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
rajdeep
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
Jirayut Nimsaeng
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Vietnam Open Infrastructure User Group
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
Kanagaraj M
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
Toni Ramirez
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack Cinder
Sean McGinnis
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
Stephen Gordon
 
Openstack Architecture
Openstack ArchitectureOpenstack Architecture
Openstack Architecture
SrbIT
 

What's hot (20)

Openstack in 10 mins
Openstack in 10 minsOpenstack in 10 mins
Openstack in 10 mins
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Cloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodeCloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute Node
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
OpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdfOpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdf
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2School
 
Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack Cinder
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
 
Openstack Architecture
Openstack ArchitectureOpenstack Architecture
Openstack Architecture
 

Viewers also liked

Logging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed EnvironmentLogging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed Environment
APNIC
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
영우 김
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloud
SK Telecom
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
Jalal Mostafa
 
The OpenStack Cloud at CERN
The OpenStack Cloud at CERNThe OpenStack Cloud at CERN
The OpenStack Cloud at CERN
Arne Wiebalck
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
Boden Russell
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Rahul Krishna Upadhyaya
 
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go DaddyOpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
Mike Dorman
 
Simplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with RomanaSimplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with Romana
Juergen Brendel
 
Summit 16: Cengn Experience in Opnfv Projects
Summit 16: Cengn Experience in Opnfv ProjectsSummit 16: Cengn Experience in Opnfv Projects
Summit 16: Cengn Experience in Opnfv Projects
OPNFV
 
Monasca 를 이용한 cloud 모니터링 final
Monasca 를 이용한 cloud 모니터링 finalMonasca 를 이용한 cloud 모니터링 final
Monasca 를 이용한 cloud 모니터링 final
SangWook Byun
 
OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)
JeSam Kim
 
Apricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environmentApricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environment
Hieu LE ☁
 
Holistic Security for OpenStack Clouds
Holistic Security for OpenStack CloudsHolistic Security for OpenStack Clouds
Holistic Security for OpenStack Clouds
Major Hayden
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
VirtualTech Japan Inc.
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016
Opsta
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
Yongyoon Shin
 
Internet Resource Management (IRM) & Internet Routing Registry (IRR)
Internet Resource Management (IRM) & Internet Routing Registry (IRR)Internet Resource Management (IRM) & Internet Routing Registry (IRR)
Internet Resource Management (IRM) & Internet Routing Registry (IRR)
APNIC
 
Geek Week 2016 - Deep Dive To Openstack
Geek Week 2016 -  Deep Dive To OpenstackGeek Week 2016 -  Deep Dive To Openstack
Geek Week 2016 - Deep Dive To Openstack
Haim Ateya
 

Viewers also liked (20)

Logging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed EnvironmentLogging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed Environment
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloud
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
The OpenStack Cloud at CERN
The OpenStack Cloud at CERNThe OpenStack Cloud at CERN
The OpenStack Cloud at CERN
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go DaddyOpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
 
Simplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with RomanaSimplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with Romana
 
Summit 16: Cengn Experience in Opnfv Projects
Summit 16: Cengn Experience in Opnfv ProjectsSummit 16: Cengn Experience in Opnfv Projects
Summit 16: Cengn Experience in Opnfv Projects
 
Monasca 를 이용한 cloud 모니터링 final
Monasca 를 이용한 cloud 모니터링 finalMonasca 를 이용한 cloud 모니터링 final
Monasca 를 이용한 cloud 모니터링 final
 
OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)
 
Apricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environmentApricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environment
 
Holistic Security for OpenStack Clouds
Holistic Security for OpenStack CloudsHolistic Security for OpenStack Clouds
Holistic Security for OpenStack Clouds
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
 
Internet Resource Management (IRM) & Internet Routing Registry (IRR)
Internet Resource Management (IRM) & Internet Routing Registry (IRR)Internet Resource Management (IRM) & Internet Routing Registry (IRR)
Internet Resource Management (IRM) & Internet Routing Registry (IRR)
 
Geek Week 2016 - Deep Dive To Openstack
Geek Week 2016 -  Deep Dive To OpenstackGeek Week 2016 -  Deep Dive To Openstack
Geek Week 2016 - Deep Dive To Openstack
 

Similar to How to Develop OpenStack

Gordonh0945deepdive openstackcompute-140417174059-phpapp02
Gordonh0945deepdive openstackcompute-140417174059-phpapp02Gordonh0945deepdive openstackcompute-140417174059-phpapp02
Gordonh0945deepdive openstackcompute-140417174059-phpapp02Công TÔ
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
Kamesh Pemmaraju
 
Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewrajdeep
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentationSankalp Jain
 
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Animesh Singh
 
Cloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackCloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: Openstack
Microsoft
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
VMware Tanzu
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
VMware Tanzu
 
Power of OpenStack & Hadoop
Power of OpenStack & HadoopPower of OpenStack & Hadoop
Power of OpenStack & Hadoop
Tuan Yang
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Jason Anderson
 
Introduction to Open stack - An Overview
Introduction to Open stack - An Overview Introduction to Open stack - An Overview
Introduction to Open stack - An Overview
SpringPeople
 
Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016
Charles Eckel
 
Openstack: starter level
Openstack: starter levelOpenstack: starter level
Openstack: starter level
Alessandro Martellone
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
NguyenChiHoangMinh
 
Kubernetes integration with ODL
Kubernetes integration with ODLKubernetes integration with ODL
Kubernetes integration with ODL
Prem Sankar Gopannan
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
Kamesh Pemmaraju
 
OpenCloud - A Research Cloud
OpenCloud - A Research CloudOpenCloud - A Research Cloud
OpenCloud - A Research CloudON.Lab
 
Kubernetes Introduction & Whats new in Kubernetes 1.6
Kubernetes Introduction & Whats new in Kubernetes 1.6Kubernetes Introduction & Whats new in Kubernetes 1.6
Kubernetes Introduction & Whats new in Kubernetes 1.6
Opcito Technologies
 
VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack
VMworld
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus SurveyPjack Chen
 

Similar to How to Develop OpenStack (20)

Gordonh0945deepdive openstackcompute-140417174059-phpapp02
Gordonh0945deepdive openstackcompute-140417174059-phpapp02Gordonh0945deepdive openstackcompute-140417174059-phpapp02
Gordonh0945deepdive openstackcompute-140417174059-phpapp02
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overview
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
 
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !
 
Cloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackCloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: Openstack
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
 
Power of OpenStack & Hadoop
Power of OpenStack & HadoopPower of OpenStack & Hadoop
Power of OpenStack & Hadoop
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
 
Introduction to Open stack - An Overview
Introduction to Open stack - An Overview Introduction to Open stack - An Overview
Introduction to Open stack - An Overview
 
Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016
 
Openstack: starter level
Openstack: starter levelOpenstack: starter level
Openstack: starter level
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
 
Kubernetes integration with ODL
Kubernetes integration with ODLKubernetes integration with ODL
Kubernetes integration with ODL
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
OpenCloud - A Research Cloud
OpenCloud - A Research CloudOpenCloud - A Research Cloud
OpenCloud - A Research Cloud
 
Kubernetes Introduction & Whats new in Kubernetes 1.6
Kubernetes Introduction & Whats new in Kubernetes 1.6Kubernetes Introduction & Whats new in Kubernetes 1.6
Kubernetes Introduction & Whats new in Kubernetes 1.6
 
VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus Survey
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 

How to Develop OpenStack

  • 2. Agenda 2 • OpenStack Services • OpenStack Architecture • Nova Architecture • Start on Codes • Messaging in OpenStack • OpenStack Libraries • Request Flow in OpenStack • OpenStack Clients
  • 3. OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter. What is OpenStack 3
  • 4. OpenStack Services Dashboard Horizon • web-based portal to interact with underlying OpenStack services NOVA COMPUTE LAYER •Manages the compute instances in an OpenStack environment. Responsibilities include creating , scheduling and decommissioning of virtual machines on demand. KEYSTONE IDENTITY • authentication and authorization service for other OpenStack services 4
  • 5. OpenStack Services CINDER BLOCK STORAGE • Provides persistent block storage to running instances SWIFT OBJECT STORAGE •Stores and retrieves arbitrary unstructured data objects via a RESTful, HTTP based API GLANCE IMAGE MANAGEMENT • Stores and retrieves virtual machine disk images 5
  • 6. OpenStack Services NEUTRON NETWORKING •Enables Network- Connectivity-as-a-Service for other OpenStack services, such as OpenStack Compute HEAT ORCHESTRATION CEILOMETER TROVE SAHARA 6
  • 8. Why Develop OpenStack 8 OpenStack Hypervisor Support Matrix
  • 9. First Step 9 You should understand the codes
  • 11. Many Teams and Many Projects 11
  • 14. Nova Components Nova-api supports OpenStack Compute API, Amazon's EC2 API communicated over HTTP, converts the requests to components via message queue Nova- conductor provides coordination and database query support for Nova Nova- compute A worker daemon which takes orders from its message queue and perform virtual machine create/delete tasks using Hypervisor's API. 14
  • 15. Nova Components Nova- scheduler decides which Nova Compute Host to allot for virtual machine request Nova- network takes network related tasks from its message queue and performing those. OpenStack's neutron component can be opted instead of nova-network. Message queue All components of Nova communicate with each other in a non-blocking callback-oriented manner using AMQP protocol 15
  • 16. Clone a repository from: • https://git.openstack.org/openstack/<projectname> • https://github.com/openstack/<projectname> For nova : • https://github.com/openstack/nova • https://git.openstack.org/openstack/nova Starting Work on Code 16
  • 18. Messaging in OpenStack How messages transport in OpenStack ? 18
  • 19. Two methods: • OpenStack components such as Nova , Cinder , Neutron communicates internally via AMQP (Advanced Message Queue Protocol) using RabbitMQ or Qpid • Through each other using REST-call. Messaging in OpenStack 19
  • 20. The AMQP either RabbitMQ or Qpid, sits between any two Nova components and allows them to communicate using Remote Procedure Calls (RPC ) Message Queue in Nova 20
  • 21. Message Queue in Nova • rpc.cast :don’t wait for result • rpc.call : wait for result (when there is something to return) 21
  • 23. OpenStack Libraries(oslo) The Oslo project intends to produce a python library containing infrastructure code shared by OpenStack projects including : oslo.config oslo.concurrency oslo.utils oslo.serialization oslo.messaging oslo.i18n 23
  • 24. OpenStack Libraries(oslo.config) A library for parsing configuration options from the command line and configuration files. 24 Parse the /etc/nova/nova.conf and convert it to cfg object
  • 25. oslo.concurrency managing external processes and task synchronization. OpenStack oslo oslo.utils a library that provides various low-level utility modules/code, such as fileutils, timeutils, importutils(import related utilities and helper functions) oslo.messaging The Oslo messaging API supports RPC 25
  • 26. Request Flow for Provisioning Instance 26
  • 27. OpenStack Clients • Most OpenStack project provides a command-line client for each service including: • python-glanceclient • python-novaclient • python-keystoneclient • … 27
  • 28. • nova boot (Create new instance) • nova reboot • nova flavor-list(Print a list of available flavors (sizes of servers)) • nova resize (Resize the instance to new flavor) • …. Nova-client • Nova client is for the Compute service provides a nova command-line client • Nova client is a client for the OpenStack Nova API Some of nova commands: 28
  • 29. Write New API in Nova • If you want to write new API in Nova, you should be familiar with nova client as well . • For example nova resize , first shutdown the current instance, then change the flavor and migrate it to the new host which is selected by scheduler. • You should know how to invoke new API by nova client 29
  • 30. Resize Instance on the Same Host • Suppose we want to have our own resize instance command which allows to resize an instance on the same host if it is possible(enough resources available) • A solution Check if possible to resize on place If OK, Shutdown the instance Take a snapshot Create a new instance with the new flavor on the same host Boot instance with the snapshot image Delete the old instance 30
  • 31. • Many commands in OpenStack novaclient following same process • Suppose Libvirt is used as compute driver Command Flow 31
  • 32. • Account Setup: You need a Launchpad account • Join OpenStack Foundation • Log Into Gerrit Review System • Install git • Clone the codes • Working on Bugs How to Contribute in OpenStack 32
  • 33. 33

Editor's Notes

  1. How to develop OpenStack in Deep
  2. OpenStack is a cloud Operation System
  3. OpenStack Services including Horizon a web-based Interface Nova manages VMs Keystone is a authentication and authorization service
  4. Cinder is block storage Swift Stores and retrieves arbitrary unstructured data objects via a RESTful Glance image management
  5. Neutron networking management And other OpenStack such as Heat, Ceilometer, Trove, Sahara
  6. OpenStack architecture
  7. Hypervisor Support Matrix OpenStack Compute (Nova) has an abstraction layer for compute drivers. This is what allows you to choose which hypervisor(s) to use for your Nova deployment. The reality is that the support of each of the options is not equal. They are not tested the same amount. They also do not all support the same features.
  8. OpenStack code architecture, each component such as Nova, Keystone, Glance, has an API which is responsible to interact with other OpenStack component. Queue is a service for massage transportation in OpenStack NovaDB store information about virtual machines Horizon /CLI is the way a user can intrract with openStack
  9. There are many teams work on many project in OpenStack,
  10. We select Nova for work on
  11. Nova consists of nova-api, nova-compute, nova-db, nova-scheduler, nova conductor, which communicate over queue
  12. Nova-api supports OpenStack Compute API, Amazon's EC2 API Nova-conductor provides coordination and database query support for Nova Nova-compute Manage wvrtual machines
  13. Codes of OpenStack exist on git of OpenStack as in github You can clone the nova codes like Git https://github.com/openstack/nova
  14. Pre requirements involve Python, JSON, Schell Script
  15. Messaging in OpenStack
  16. Two methods of message transportation in OpenStack
  17. Nova components communicate using RPC
  18. Tow types of RPC is used in OpenStack rpc.cast :don’t wait for result rpc.call : wait for result (when there is something to return)
  19. Communication between OpenStack services via Restfull
  20. Oslo is a collection of libraries used by almost every OpenStack projects including :
  21. Oslo.config is a A library for parsing configuration and convert them to cfg objects
  22. The request flow for provisioning an Instance goes like this: Dashboard or CLI gets the user credential and does the REST call to Keystone for authentication. Keystone authenticate the credentials and generate & send back auth-token which will be used for sending request to other Components through REST-call. Dashboard or CLI convert the new instance request specified in ‘launch instance’ or ‘nova-boot’ form to REST API request and send it to nova-api. nova-api receive the request and sends the request for validation auth-token and access permission to keystone. Keystone validates the token and sends updated auth headers with roles and permissions. nova-api interacts with nova-database. Creates initial db entry for new instance. nova-api sends the rpc.call request to nova-scheduler excepting to get updated instance entry with host ID specified. nova-scheduler picks the request from the queue. nova-scheduler interacts with nova-database to find an appropriate host via filtering and weighing. Returns the updated instance entry with appropriate host ID after filtering and weighing. nova-scheduler sends the rpc.cast request to nova-compute for ‘launching instance’ on appropriate host . nova-compute picks the request from the queue. nova-compute send the rpc.call request to nova-conductor to fetch the instance information such as host ID and flavor( Ram , CPU ,Disk). nova-conductor picks the request from the queue. nova-conductor interacts with nova-database. Return the instance information. nova-compute picks the instance information from the queue. nova-compute does the REST call by passing auth-token to glance-api to get the Image URI by Image ID from glance and upload image from image storage. glance-api validates the auth-token with keystone. nova-compute get the image metadata. nova-compute does the REST-call by passing auth-token to Network API to allocate and configure the network such that instance gets the IP address. neutron validates the auth-token with keystone. nova-compute get the network info. nova-compute does the REST call by passing auth-token to Volume API to attach volumes to instance. cinder-api validates the auth-token with keystone. nova-compute gets the block storage info. nova-compute generates data for hypervisor driver and executes request on Hypervisor( via libvirt or a
  23. Request flow
  24. Gerrit provides web based code review and repository management for the Git version control system Launchpad is an open source suite of tools that help people and teams to work together on software projects