SlideShare a Scribd company logo
OpenStack Cinder
Renuka Apte – Citrix Systems
Overview
• What is Cinder

• Who’s Involved

• API

• nova-volume attach/detach now & ahead

• Boot from volume now & ahead

• Current Status

• What’s left & timeline

• How to get involved
What is Cinder
• Service that was previously nova-volume

• REST based API

• Why?
  • Increasing Complexity in nova-volume
     • Scheduler

     • Multiple volume drivers working together

     • Interactions with other components, e.g. glance
Who’s Involved
• SolidFire
   • John Griffith
• Rackspace
   • Vish, Jesse Andrews, Anthony Young, Nirmal Ranganathan…
• HP
   • Tim Reddin, Duncan Thomas
• Ceph
   • Josh Durgin
• Zadara
   • Vladimir Popovski
• NetApp
   • Rob Esker
• Citrix
   • Renuka Apte
REST API
• What’s supported today
  •   create
  •   delete
  •   list
  •   show

• Extensions (to come)
  •   attach
  •   detach
  •   reserve_volume
  •   unreserve_volume
  •   initialize_connection
  •   terminate_connection
Current Flow of Attach/Detach
Calls
• user attach
    • compute.api  reserve_volume (sets attaching state)
                     casts to manager
    • compute.manager  initialize_connection (gets connection info)
    • compute.manager  attach (sets instance_id and attach state
    • (unreserve_volume called on error)

•    user detach
    • compute.api  casts to manager
    • compute.manager  terminate_connection
    • compute_manager  detach (removes instance_id and attach
      state)
    • (unreserve_volume called during terminate)
Future Flow (tentative)
• user attach
    • compute_api  initialize_connection (sets instance_id, attaching
      state, gets connection info)
    • starts greenthread (optionally, could be sync as well)
    • makes call to manager passing down connection info
    • attach (sets instance_id and attach state)
    • creates bdm data

•       user detach
    •   compute_api  starts greenthread (optionally, could be sync as well)
    •   detach (sets detaching state)
    •   makes call to manager
    •   terminate_connection (clears instance_id and attach state)
    •   destroys bdm data
Boot from Volume, now
• Current state
  • nova boot [--flavor <flavor>] [--image <image>] [--
    block_device_mapping <dev_name=mapping>] <name>

  • The format of mapping is
    <dev_name=<id>:<type>:<size(GB)>:<delete_on_terminate>

• Current way of creating bootable volumes
  •   get the image from url or template from swift
  •   create a nova-volume
  •   attach it to a running instance
  •   cp/dd
Boot from Volume, ahead
• Considerations
  • Who should create bootable volume?
  • Should cinder be a client to glance or replicate functionality for
    streaming templates?


• Boot from Volume
  • Create a bootable Volume
     • Option #1: Create Volume from an Image (or snapshot?)
     • cinder create-volume-from-image --image_id=[image_id]
     • Option #2: Mark an existing volume as bootable


  • Launch an instance from that Volume
     • nova boot --from_volume=[vol_id]
Current Status
• Use cinder to create/delete/list/show volumes

• python-cinderclient works
  • Runs against nova-volume and cinder
  • Supports create/delete/list/show

• Can point devstack to install cinder
  • create/delete volumes

• QA
  • Jenkins, smokestack on checkins
       • pep8, unit tests and hacking checks
In the Pipeline
• Folsom-2
  • Volume decoupling
  • API extensions
     •   attach
     •   detach
     •   reserve_volume
     •   unreserve_volume
     •   initialize_connection
     •   terminate_connection
  • Separate volume api

• Further up
  • Boot from volume
Incubation
• Normal process
  • couple of releases

  • acceptance by community

  • contributions



• Exception for Cinder
  • already an OpenStack project

  • nova-volume is reasonably mature and reviewed
Try it out
• Pull devstack
  • git clone https://github.com/openstack-dev/devstack.git
  • cd devstack
  • git review –d 7042

• Edit localrc
  • In ENABLED_SERVICES, replace n-vol (if it exists, else add) cinder
  • Also add c-api, c-vol, c-sch

• Run stack.sh
Getting Involved
• Reviews
• Feedback
• Feature priorities

• Resources:
  • http://etherpad.openstack.org/cinder-worksheet
      • Progress, status, updates
  • Repo: https://github.com/openstack/cinder/
  • Blueprints:
      • https://blueprints.launchpad.net/nova/+spec/volume-decoupling
      • https://blueprints.launchpad.net/cinder
  • Mailing list:
      • openstack@lists.launchpad.net with [Openstack][Cinder] on subject line
  • Meetings:
      • Wednesdays at 16:00 UTC

More Related Content

PDF
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
PPTX
OpenStack Cinder Best Practices - Meet Up
PDF
Cinder Status Openstack Shanghai
PPTX
Storage as a service and OpenStack Cinder
PPTX
Laying OpenStack Cinder Block Services
PPTX
Couch to OpenStack: Cinder - August 6, 2013
PPTX
OpenStack Storage Overview
PDF
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder Best Practices - Meet Up
Cinder Status Openstack Shanghai
Storage as a service and OpenStack Cinder
Laying OpenStack Cinder Block Services
Couch to OpenStack: Cinder - August 6, 2013
OpenStack Storage Overview
OpenStack Tokyo Meeup - Gluster Storage Day

What's hot (20)

PPTX
OpenStack Cinder
PDF
Open stack solidfire-mavenspire-meetup
PPTX
Openstack Study Nova 1
PPTX
Openstack study-nova-02
PDF
Openstack HA
PDF
Wanting distributed volumes - Experiences with ceph-docker
PDF
OpenStack Best Practices and Considerations - terasky tech day
PDF
Open stack cinder
PDF
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
PPTX
Docker 1.5
PDF
Docker Container Orchestration
ODP
Guaranteeing Storage Performance by Mike Tutkowski
PDF
Scaling and Managing Cassandra with docker, CoreOS and Presto
PDF
TechDay - Cambridge 2016 - OpenNebula Corona
PDF
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
PDF
Cassandra and Docker Lessons Learned
PPTX
VMware Hybrid Cloud Service - Overview
PPTX
State of Containers in OpenStack
PDF
Cassandra on Docker
PPTX
virtualization-vs-containerization-paas
OpenStack Cinder
Open stack solidfire-mavenspire-meetup
Openstack Study Nova 1
Openstack study-nova-02
Openstack HA
Wanting distributed volumes - Experiences with ceph-docker
OpenStack Best Practices and Considerations - terasky tech day
Open stack cinder
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Docker 1.5
Docker Container Orchestration
Guaranteeing Storage Performance by Mike Tutkowski
Scaling and Managing Cassandra with docker, CoreOS and Presto
TechDay - Cambridge 2016 - OpenNebula Corona
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
Cassandra and Docker Lessons Learned
VMware Hybrid Cloud Service - Overview
State of Containers in OpenStack
Cassandra on Docker
virtualization-vs-containerization-paas
Ad

Viewers also liked (18)

PPTX
Introduction to OpenStack Cinder
PDF
OpenStack Cinder Overview - Havana Release
PDF
OpenStack Architecture
PPTX
Filesystem as a service in OpenStack
PDF
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
PDF
Presentazione PureStorage @ VMUGIT UserCon 2015
PDF
OpenStack Swift
PPTX
OpenStack Glance
PDF
Ceph and Mirantis OpenStack
PPTX
OpenStack Quantum Intro (OS Meetup 3-26-12)
PDF
Inside Architecture of Neutron
PDF
OpenStack Neutron Tutorial
PDF
OpenStack Summits 101: A Guide For Attendees
PPTX
Introduction to OpenStack Architecture
PDF
OpenStack Tutorial
PPTX
OpenStack Introduction
PDF
OpenStack Explained: Learn OpenStack architecture and the secret of a success...
ODP
Introducing OpenStack for Beginners
Introduction to OpenStack Cinder
OpenStack Cinder Overview - Havana Release
OpenStack Architecture
Filesystem as a service in OpenStack
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Presentazione PureStorage @ VMUGIT UserCon 2015
OpenStack Swift
OpenStack Glance
Ceph and Mirantis OpenStack
OpenStack Quantum Intro (OS Meetup 3-26-12)
Inside Architecture of Neutron
OpenStack Neutron Tutorial
OpenStack Summits 101: A Guide For Attendees
Introduction to OpenStack Architecture
OpenStack Tutorial
OpenStack Introduction
OpenStack Explained: Learn OpenStack architecture and the secret of a success...
Introducing OpenStack for Beginners
Ad

Similar to OpenStack Cinder (20)

PPTX
Running Airflow Workflows as ETL Processes on Hadoop
PDF
Agiles Peru 2019 - Infrastructure As Code
PDF
Achieving Infrastructure Portability with Chef
PDF
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
PDF
Hosting Ruby Web Apps
PDF
Don’t Forget About Your Past—Optimizing Apache Druid Performance With Neil Bu...
PPTX
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
PDF
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
PDF
Chef for OpenStack- Fall 2012.pdf
PDF
Chef for OpenStack - OpenStack Fall 2012 Summit
PDF
OpenStack Deployments with Chef
PDF
Kubernetes Walk Through from Technical View
PDF
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
KEY
DjangoCon 2010 Scaling Disqus
PDF
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
PPTX
Docker crash course
PDF
Managing multi tenant resource toward Hive 2.0
PPTX
HiveServer2
KEY
Inside Of Mbga Open Platform
PDF
Evolving for Kubernetes
Running Airflow Workflows as ETL Processes on Hadoop
Agiles Peru 2019 - Infrastructure As Code
Achieving Infrastructure Portability with Chef
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Hosting Ruby Web Apps
Don’t Forget About Your Past—Optimizing Apache Druid Performance With Neil Bu...
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Chef for OpenStack- Fall 2012.pdf
Chef for OpenStack - OpenStack Fall 2012 Summit
OpenStack Deployments with Chef
Kubernetes Walk Through from Technical View
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
DjangoCon 2010 Scaling Disqus
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Docker crash course
Managing multi tenant resource toward Hive 2.0
HiveServer2
Inside Of Mbga Open Platform
Evolving for Kubernetes

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Approach and Philosophy of On baking technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
Approach and Philosophy of On baking technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

OpenStack Cinder

  • 1. OpenStack Cinder Renuka Apte – Citrix Systems
  • 2. Overview • What is Cinder • Who’s Involved • API • nova-volume attach/detach now & ahead • Boot from volume now & ahead • Current Status • What’s left & timeline • How to get involved
  • 3. What is Cinder • Service that was previously nova-volume • REST based API • Why? • Increasing Complexity in nova-volume • Scheduler • Multiple volume drivers working together • Interactions with other components, e.g. glance
  • 4. Who’s Involved • SolidFire • John Griffith • Rackspace • Vish, Jesse Andrews, Anthony Young, Nirmal Ranganathan… • HP • Tim Reddin, Duncan Thomas • Ceph • Josh Durgin • Zadara • Vladimir Popovski • NetApp • Rob Esker • Citrix • Renuka Apte
  • 5. REST API • What’s supported today • create • delete • list • show • Extensions (to come) • attach • detach • reserve_volume • unreserve_volume • initialize_connection • terminate_connection
  • 6. Current Flow of Attach/Detach Calls • user attach • compute.api  reserve_volume (sets attaching state) casts to manager • compute.manager  initialize_connection (gets connection info) • compute.manager  attach (sets instance_id and attach state • (unreserve_volume called on error) • user detach • compute.api  casts to manager • compute.manager  terminate_connection • compute_manager  detach (removes instance_id and attach state) • (unreserve_volume called during terminate)
  • 7. Future Flow (tentative) • user attach • compute_api  initialize_connection (sets instance_id, attaching state, gets connection info) • starts greenthread (optionally, could be sync as well) • makes call to manager passing down connection info • attach (sets instance_id and attach state) • creates bdm data • user detach • compute_api  starts greenthread (optionally, could be sync as well) • detach (sets detaching state) • makes call to manager • terminate_connection (clears instance_id and attach state) • destroys bdm data
  • 8. Boot from Volume, now • Current state • nova boot [--flavor <flavor>] [--image <image>] [-- block_device_mapping <dev_name=mapping>] <name> • The format of mapping is <dev_name=<id>:<type>:<size(GB)>:<delete_on_terminate> • Current way of creating bootable volumes • get the image from url or template from swift • create a nova-volume • attach it to a running instance • cp/dd
  • 9. Boot from Volume, ahead • Considerations • Who should create bootable volume? • Should cinder be a client to glance or replicate functionality for streaming templates? • Boot from Volume • Create a bootable Volume • Option #1: Create Volume from an Image (or snapshot?) • cinder create-volume-from-image --image_id=[image_id] • Option #2: Mark an existing volume as bootable • Launch an instance from that Volume • nova boot --from_volume=[vol_id]
  • 10. Current Status • Use cinder to create/delete/list/show volumes • python-cinderclient works • Runs against nova-volume and cinder • Supports create/delete/list/show • Can point devstack to install cinder • create/delete volumes • QA • Jenkins, smokestack on checkins • pep8, unit tests and hacking checks
  • 11. In the Pipeline • Folsom-2 • Volume decoupling • API extensions • attach • detach • reserve_volume • unreserve_volume • initialize_connection • terminate_connection • Separate volume api • Further up • Boot from volume
  • 12. Incubation • Normal process • couple of releases • acceptance by community • contributions • Exception for Cinder • already an OpenStack project • nova-volume is reasonably mature and reviewed
  • 13. Try it out • Pull devstack • git clone https://github.com/openstack-dev/devstack.git • cd devstack • git review –d 7042 • Edit localrc • In ENABLED_SERVICES, replace n-vol (if it exists, else add) cinder • Also add c-api, c-vol, c-sch • Run stack.sh
  • 14. Getting Involved • Reviews • Feedback • Feature priorities • Resources: • http://etherpad.openstack.org/cinder-worksheet • Progress, status, updates • Repo: https://github.com/openstack/cinder/ • Blueprints: • https://blueprints.launchpad.net/nova/+spec/volume-decoupling • https://blueprints.launchpad.net/cinder • Mailing list: • openstack@lists.launchpad.net with [Openstack][Cinder] on subject line • Meetings: • Wednesdays at 16:00 UTC

Editor's Notes

  • #3: I will be talking about Cinder, what it is, why it is, who’s involved. I’ll go a little bit into the API. We’ll talk a little more in detail about the attach &amp; detach calls. The interesting thing here is that attach and detach need both nova-volume and compute to cooperate. That is also the case for boot from volume, so we’ll talk a bit about that. I’ll talk about what we’ve achieved so far, what’s left, and how you can get involved.
  • #4: Cinder is the name given to the project to break out nova-volume into its own service, much like quantum is to nova-network.Cinder has a RESTful web api, so the idea is to make it independent of nova.The features we want to see added to Nova-volume, and some of these already exist, are beginning to make it a pretty complex service.For example, we need an intelligent scheduler, which is able to differentiate between storage backends based on capabilities like whether it supports snapshots, what kind of performance it has.We want to see multiple volume drivers work together, which also ties in with the scheduler.We want to be able to convert image templates into bootable volumes, which potentially involves talking to glance.All of these things make nova-volume complex enough to warrant making it a service of its own.
  • #5: John Griffith’s the interim lead for Cinder until actual elections, etc. begin for the project.Most of the companies here have their proprietary storage offerings.
  • #13: Normally, for a project to be accepted as an Openstack project, it needs to go through an incubation process. This typically involves a couple of releases, the community should actively begin using it and contributing. In case of cinder, however, they made an exception, similar to quantum. Because nova-volume is reasonably mature and has community participation. And the idea is to make cinder, at least in its initial versions, as close as possible to the existing nova-volume service.