SlideShare a Scribd company logo
1 of 50
Download to read offline
Cinder
OpenInfra Meetup Q3 China
Brian Rosmaita
Cinder Project Team Leader
Senior Software Engineer, Red Hat
IRC: rosmaita
Twitter: @br14nr
26 September 2020
Agenda
➡ OpenStack
➡ OpenStack Project Teams
➡ OpenStack Releases
➡ Cinder
➡ Cinder Development
➡ Cinder & Containers
➡ Cinder Update
OpenStack
OpenStack is an open source project for building a private
or public infrastructure-as-a-service cloud running on
standard hardware
● Uses virtualized resources to build a cloud
● Relies on virtualization software
● Relies on a base operating system
● more info: openstack . org
What is a cloud?
Five "essential characteristics" (NIST special publication 800-145)
● on-demand self-service
● broad network access
● resource pooling ("multitenancy")
● rapid elasticity
● measured service
OpenStack architecture
The OpenStack architecture is a number of projects that provide different
cloud services via REST APIs.
● Compute Service - Nova
● Networking Service - Neutron
● Image Service - Glance
● Block Storage Service - Cinder
● Identity Service - Keystone
● Object Store - Swift
Search: openstack api reference
OpenStack Project Teams
OpenStack architecture
Each Service has an associated Project Team that is responsible for
maintaining that service and all its associated deliverables.
● Anyone can be part of the Project Team, you just need to participate
● Each team has a group of core reviewers who have the responsibility of
maintaining project stability and focus
○ Who is in this group is decided by the Project Team
Train PTG
Train release
16 October 2019
Cinder:
● 122 contributors
● 41 companies
Ussuri PTG
Ussuri release
13 May 2020
Cinder:
● 95 contributors
● 32 companies
Victoria PTG
Victoria release
14 October 2020
Cinder:
● 70 contributors
● 24 companies
OpenStack PTG
● Where the design discussions and planning for the next release happen
● Next release: “Wallaby”
● The Wallaby PTG will be a virtual event
● October 26-30, 2020
● info: openstack . org / ptg
OpenStack Releases
OpenStack Releases
● releases . openstack . org
● Unified release cadence is every 6 months
○ Each project makes a Release candidate 3 weeks before release
○ a new stable branch is cut
○ master becomes the new development branch
● Releases from stable branches happen … whenever
○ these are done per-project, no unified coordination
○ usually 3 “releasable” branches open
○ others in “extended maintenance” mode (no releases)
OpenStack Releases
● Release name is selected by the OpenStack community
○ Must start with a letter of the ISO basic Latin alphabet, following the
initial letter of the previous release, beginning with ‘A’ and rotating
back to ‘A’ after a ‘Z’ release
○ Must be composed of the 26 letters of ISO basic Latin; names that
can be transliterated into this character set are also acceptable
■ the last release was ‘Ussuri’ (乌苏里)
○ Must be a single word of no more than 10 characters
OpenStack Releases
● The coordinated release is referred to by the release name
○ Each individual project has its own version number
○ Nova, the oldest project, will release version 22.0.0 for Victoria
○ Cinder first appeared in the Folsom release, so it will release version 17.0.0
for Victoria
● After the coordinated release, the projects are on their own to make
releases as they see necessary to address critical bugs or security issues
○ example: train
■ nova: start 20.0.0, most recent 20.4.0
■ glance: start 19.0.0, most recent 19.0.4
■ cinder: start 15.0.0, most recent 15.3.0
■ keystone: start 16.0.0, most recent 16.0.1
OpenStack Distributions
● It’s a lot easier to consume OpenStack from a distribution, which
does all the work of keeping the code up to date and tests it on a
particular platform
● For example,
(please excuse the shameless plug for my employer)
What does Cinder do?
• Implement services and libraries
to provide on demand,
self-service access to Block
Storage resources.
• Provide Software Defined Block
Storage via abstraction and
automation on top of various
traditional backend block storage
devices.
Where is the code?
opendev . org / openstack / <name>
● Mirrored on github
What are the repository names?
I’m going to answer this indirectly
cinder . openstack . org / contributor
Take the first link:
So You Want to Contribute ...
What are the repository names?
● cinder
● python-cinderclient
● os-brick
● python-brick-cinderclient-ext
● cinderlib
● cinder-tempest-plugin
● cinder-specs
Why are we looking at the horse’s back end?
● Well, your block storage has to actually be
stored somewhere … so storage backends are
essential to Cinder
● Cinder supports different backends through
drivers
○ Drivers mediate between the Block
Storage API, which provides a consistent
interface to users, and particular
backends
Cinder backend drivers
● There are over 70 drivers in the cinder code
repository
● ‘Supported’ drivers have functioning
third-party CI systems that run on every
proposed patch to cinder
● The 3rd party CI provides additional
information when patches are reviewed
OpenStack Development
How code gets into OpenStack
● Clone the code repository with git
● Make your changes in a local branch
● Submit your change to gerrit
○ gerrit assigns a “Change-Id” to your patch
○ it creates a branch with your patch applied to it
○ it maintains a history of your submissions with the same
Change-Id
■ this allows reviewers to compare changes to different
versions of the patch
How code gets into OpenStack
● If you want to look at a real-life gerrit review:
○ review . opendev . org / 730183
How code gets into OpenStack
● One nice thing about using gerrit is that if you’re tracking down a bug,
you can find out from git what commit added the problematic code,
and the commit message will contain the gerrit Change-Id
● You can go back to the original review and follow the discussion to
understand why the change was made the way it was
What tests are the 3rd Party CIs running?
● The OpenStack integration test suite (“tempest”)
● Additional cinder-focused API and scenario tests contained in the
cinder-tempest-plugin
○ We can add extra integration tests for drivers to focus on
particular areas of functionality for particular configurations
○ example: review . opendev . org / 737380
Software development opportunities
● If you work for a storage vendor, you might be interested in
contributing a new backend driver
● If you use an existing open source storage solution (for example,
Ceph), you might be interested in helping to maintain the rbd driver
● If you have run into a bug, you might be interested in contributing
code to the cinder-tempest-plugin to make sure there’s not a
regression (or to demonstrate the bug in other drivers)
● The python-cinderclient can always use some love
○ or you could work on integration with the openstackclient
Cinder & Containers
What about containers?
● Glad you asked!
● As mentioned earlier, Cinder has over 70 backend drivers that are
tested all the time through the cinder 3rd party CI systems
○ it would be nice if they could be used to help provide persistent
storage for containers
○ well, they can!
Container Storage Interface
● Specifies an interface to enable a storage
vendor to develop a single plugin that will
work across all container systems
supporting the standard
● Storage vendors do not have to touch the
core code of the container orchestration
system
Cinder and the CSI
● There are three common methods for using cinder code with a
container orchestration system
○ Use the cinder-csi-plugin
○ If you’re running kubernetes on top of OpenStack, and your
OpenStack deployment contains Cinder (as about 98% of
deployments do), the cinder-csi-plugin can serve persistent
volumes from whatever backends are configured for Cinder
■ kubernetes code
■ github . com / kubernetes / cloud-provider-openstack
Cinder and the CSI
● If you’re not running kubernetes on top of OpenStack, you can still
use the cinder-csi-plugin and have Cinder manage your persistent
volumes by running Cinder in “standalone” mode
○ OpenSDS takes this approach
○ advantage: gives you a wide choice of storage backends, namely,
whatever Cinder supports
○ disadvantage: very heavyweight
Cinder and the CSI
● meet cinderlib
○ a python library that allows cinder storage drivers to be used
outside of Cinder
○ a deliverable of the OpenStack cinder project
○ removes the DBMS, message broker, Block Storage API,
scheduler, and volume manager layers from cinder
○ code: opendev . org / openstack / cinderlib
Cinder and the CSI
● cinderlib has been available since the Stein release of OpenStack
○ it’s on a “cycle-trailing” release schedule
○ victoria cinderlib is scheduled to be released on or before 15
January 2021
○ current versions
■ stein: 0.9.0
■ train: 1.0.1
■ ussuri: 2.0.0
Cinder and the CSI
● cinderlib allows you to take advantage of all the tested driver code
from the Cinder project
● cinderlib allows storage vendors to re-use the driver code that they
have developed for Cinder
Cinder and the CSI
● Ember CSI
● provides a CSI standard interface
to cinderlib
● code: ember-csi . io
So what’s up with Cinder?
● Not a lot of new features these days
● Mostly stability improvements
● Cinder grew really fast for a while, and added some features that we
are still catching up with from a testing point of view
○ contribute to cinder-tempest-plugin!
● Vendors continue to add new drivers
volume-local-cache
● a “stealth feature” in the victoria release
○ it’s not being announced
● still requires work on the compute side before it can be a real feature
● … and documentation
● design document:
○ specs . openstack . org / openstack / cinder-specs /
○ (look under the Victoria specs)
Reference Links
● Release notes
○ https://docs.openstack.org/releasenotes/cinder/
● Project documentation
○ https://cinder.openstack.org
● Cinder design documents
○ https://specs.openstack.org/openstack/cinder-specs/
● Cinder wiki
○ https://wiki.openstack.org/wiki/Cinder
● Cinder YouTube
○ https://www.youtube.com/channel/UCJ8Koy4gsISMy0qW3CWZmaQ
@OpenStack
THANKS.
Questions?
openstack openstack OpenStackFoundation

More Related Content

What's hot

Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Chandan Kumar
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisorChing-Hsuan Yen
 
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...Akihiro Suda
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userAkihiro Suda
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container imagesAkihiro Suda
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesAkihiro Suda
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...NETWAYS
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless ContainersAkihiro Suda
 
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless ModeAkihiro Suda
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdKohei Tokunaga
 
Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019Allen Vailliencourt
 
The State of containerd
The State of containerdThe State of containerd
The State of containerdMoby Project
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networkingSim Janghoon
 
Introduction to CRI and OCI
Introduction to CRI and OCIIntroduction to CRI and OCI
Introduction to CRI and OCIHungWei Chiu
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Anne Nicolas
 
Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Phil Estes
 

What's hot (20)

Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisor
 
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root user
 
ISC HPCW talks
ISC HPCW talksISC HPCW talks
ISC HPCW talks
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issues
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019
 
The State of containerd
The State of containerdThe State of containerd
The State of containerd
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networking
 
Introduction to CRI and OCI
Introduction to CRI and OCIIntroduction to CRI and OCI
Introduction to CRI and OCI
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
 
Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018
 

Similar to Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26

Ecosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: CinderEcosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: CinderBrian Rosmaita
 
OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020Brian Rosmaita
 
Workday's Next Generation Private Cloud
Workday's Next Generation Private CloudWorkday's Next Generation Private Cloud
Workday's Next Generation Private CloudSilvano Buback
 
Red Hat Cloud Infrastructure Conference 2013 - Presentation about OpenStack ...
Red Hat Cloud Infrastructure Conference 2013 -  Presentation about OpenStack ...Red Hat Cloud Infrastructure Conference 2013 -  Presentation about OpenStack ...
Red Hat Cloud Infrastructure Conference 2013 - Presentation about OpenStack ...Elos Technologies s.r.o.
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...NETWAYS
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatSean Cohen
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatCloud Native Day Tel Aviv
 
Intro to creating kubernetes operators
Intro to creating kubernetes operators Intro to creating kubernetes operators
Intro to creating kubernetes operators Juraj Hantak
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopWeaveworks
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachNicola Ferraro
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017Stacy Véronneau
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Docker, Inc.
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in ContainerizationRyan Hunter
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightSyed Moneeb
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1Ruslan Meshenberg
 
Speed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesSpeed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesICS
 

Similar to Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26 (20)

Ecosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: CinderEcosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: Cinder
 
OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020
 
Workday's Next Generation Private Cloud
Workday's Next Generation Private CloudWorkday's Next Generation Private Cloud
Workday's Next Generation Private Cloud
 
Red Hat Cloud Infrastructure Conference 2013 - Presentation about OpenStack ...
Red Hat Cloud Infrastructure Conference 2013 -  Presentation about OpenStack ...Red Hat Cloud Infrastructure Conference 2013 -  Presentation about OpenStack ...
Red Hat Cloud Infrastructure Conference 2013 - Presentation about OpenStack ...
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...
OSDC 2013 | Tutorial and demonstration of failover from EC2 to OpenStack usin...
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red Hat
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
 
Intro to creating kubernetes operators
Intro to creating kubernetes operators Intro to creating kubernetes operators
Intro to creating kubernetes operators
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylight
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1
 
Speed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesSpeed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & Kubernetes
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26

  • 1. Cinder OpenInfra Meetup Q3 China Brian Rosmaita Cinder Project Team Leader Senior Software Engineer, Red Hat IRC: rosmaita Twitter: @br14nr 26 September 2020
  • 2. Agenda ➡ OpenStack ➡ OpenStack Project Teams ➡ OpenStack Releases ➡ Cinder ➡ Cinder Development ➡ Cinder & Containers ➡ Cinder Update
  • 4. OpenStack is an open source project for building a private or public infrastructure-as-a-service cloud running on standard hardware ● Uses virtualized resources to build a cloud ● Relies on virtualization software ● Relies on a base operating system ● more info: openstack . org
  • 5. What is a cloud? Five "essential characteristics" (NIST special publication 800-145) ● on-demand self-service ● broad network access ● resource pooling ("multitenancy") ● rapid elasticity ● measured service
  • 6. OpenStack architecture The OpenStack architecture is a number of projects that provide different cloud services via REST APIs. ● Compute Service - Nova ● Networking Service - Neutron ● Image Service - Glance ● Block Storage Service - Cinder ● Identity Service - Keystone ● Object Store - Swift Search: openstack api reference
  • 8. OpenStack architecture Each Service has an associated Project Team that is responsible for maintaining that service and all its associated deliverables. ● Anyone can be part of the Project Team, you just need to participate ● Each team has a group of core reviewers who have the responsibility of maintaining project stability and focus ○ Who is in this group is decided by the Project Team
  • 9. Train PTG Train release 16 October 2019 Cinder: ● 122 contributors ● 41 companies
  • 10. Ussuri PTG Ussuri release 13 May 2020 Cinder: ● 95 contributors ● 32 companies
  • 11. Victoria PTG Victoria release 14 October 2020 Cinder: ● 70 contributors ● 24 companies
  • 12. OpenStack PTG ● Where the design discussions and planning for the next release happen ● Next release: “Wallaby” ● The Wallaby PTG will be a virtual event ● October 26-30, 2020 ● info: openstack . org / ptg
  • 14. OpenStack Releases ● releases . openstack . org ● Unified release cadence is every 6 months ○ Each project makes a Release candidate 3 weeks before release ○ a new stable branch is cut ○ master becomes the new development branch ● Releases from stable branches happen … whenever ○ these are done per-project, no unified coordination ○ usually 3 “releasable” branches open ○ others in “extended maintenance” mode (no releases)
  • 15. OpenStack Releases ● Release name is selected by the OpenStack community ○ Must start with a letter of the ISO basic Latin alphabet, following the initial letter of the previous release, beginning with ‘A’ and rotating back to ‘A’ after a ‘Z’ release ○ Must be composed of the 26 letters of ISO basic Latin; names that can be transliterated into this character set are also acceptable ■ the last release was ‘Ussuri’ (乌苏里) ○ Must be a single word of no more than 10 characters
  • 16. OpenStack Releases ● The coordinated release is referred to by the release name ○ Each individual project has its own version number ○ Nova, the oldest project, will release version 22.0.0 for Victoria ○ Cinder first appeared in the Folsom release, so it will release version 17.0.0 for Victoria ● After the coordinated release, the projects are on their own to make releases as they see necessary to address critical bugs or security issues ○ example: train ■ nova: start 20.0.0, most recent 20.4.0 ■ glance: start 19.0.0, most recent 19.0.4 ■ cinder: start 15.0.0, most recent 15.3.0 ■ keystone: start 16.0.0, most recent 16.0.1
  • 17. OpenStack Distributions ● It’s a lot easier to consume OpenStack from a distribution, which does all the work of keeping the code up to date and tests it on a particular platform ● For example, (please excuse the shameless plug for my employer)
  • 18.
  • 19. What does Cinder do? • Implement services and libraries to provide on demand, self-service access to Block Storage resources. • Provide Software Defined Block Storage via abstraction and automation on top of various traditional backend block storage devices.
  • 20. Where is the code? opendev . org / openstack / <name> ● Mirrored on github
  • 21. What are the repository names? I’m going to answer this indirectly cinder . openstack . org / contributor Take the first link: So You Want to Contribute ...
  • 22. What are the repository names? ● cinder ● python-cinderclient ● os-brick ● python-brick-cinderclient-ext ● cinderlib ● cinder-tempest-plugin ● cinder-specs
  • 23. Why are we looking at the horse’s back end? ● Well, your block storage has to actually be stored somewhere … so storage backends are essential to Cinder ● Cinder supports different backends through drivers ○ Drivers mediate between the Block Storage API, which provides a consistent interface to users, and particular backends
  • 24. Cinder backend drivers ● There are over 70 drivers in the cinder code repository ● ‘Supported’ drivers have functioning third-party CI systems that run on every proposed patch to cinder ● The 3rd party CI provides additional information when patches are reviewed
  • 26. How code gets into OpenStack ● Clone the code repository with git ● Make your changes in a local branch ● Submit your change to gerrit ○ gerrit assigns a “Change-Id” to your patch ○ it creates a branch with your patch applied to it ○ it maintains a history of your submissions with the same Change-Id ■ this allows reviewers to compare changes to different versions of the patch
  • 27. How code gets into OpenStack ● If you want to look at a real-life gerrit review: ○ review . opendev . org / 730183
  • 28.
  • 29.
  • 30. How code gets into OpenStack ● One nice thing about using gerrit is that if you’re tracking down a bug, you can find out from git what commit added the problematic code, and the commit message will contain the gerrit Change-Id ● You can go back to the original review and follow the discussion to understand why the change was made the way it was
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. What tests are the 3rd Party CIs running? ● The OpenStack integration test suite (“tempest”) ● Additional cinder-focused API and scenario tests contained in the cinder-tempest-plugin ○ We can add extra integration tests for drivers to focus on particular areas of functionality for particular configurations ○ example: review . opendev . org / 737380
  • 36. Software development opportunities ● If you work for a storage vendor, you might be interested in contributing a new backend driver ● If you use an existing open source storage solution (for example, Ceph), you might be interested in helping to maintain the rbd driver ● If you have run into a bug, you might be interested in contributing code to the cinder-tempest-plugin to make sure there’s not a regression (or to demonstrate the bug in other drivers) ● The python-cinderclient can always use some love ○ or you could work on integration with the openstackclient
  • 38. What about containers? ● Glad you asked! ● As mentioned earlier, Cinder has over 70 backend drivers that are tested all the time through the cinder 3rd party CI systems ○ it would be nice if they could be used to help provide persistent storage for containers ○ well, they can!
  • 39. Container Storage Interface ● Specifies an interface to enable a storage vendor to develop a single plugin that will work across all container systems supporting the standard ● Storage vendors do not have to touch the core code of the container orchestration system
  • 40. Cinder and the CSI ● There are three common methods for using cinder code with a container orchestration system ○ Use the cinder-csi-plugin ○ If you’re running kubernetes on top of OpenStack, and your OpenStack deployment contains Cinder (as about 98% of deployments do), the cinder-csi-plugin can serve persistent volumes from whatever backends are configured for Cinder ■ kubernetes code ■ github . com / kubernetes / cloud-provider-openstack
  • 41. Cinder and the CSI ● If you’re not running kubernetes on top of OpenStack, you can still use the cinder-csi-plugin and have Cinder manage your persistent volumes by running Cinder in “standalone” mode ○ OpenSDS takes this approach ○ advantage: gives you a wide choice of storage backends, namely, whatever Cinder supports ○ disadvantage: very heavyweight
  • 42. Cinder and the CSI ● meet cinderlib ○ a python library that allows cinder storage drivers to be used outside of Cinder ○ a deliverable of the OpenStack cinder project ○ removes the DBMS, message broker, Block Storage API, scheduler, and volume manager layers from cinder ○ code: opendev . org / openstack / cinderlib
  • 43. Cinder and the CSI ● cinderlib has been available since the Stein release of OpenStack ○ it’s on a “cycle-trailing” release schedule ○ victoria cinderlib is scheduled to be released on or before 15 January 2021 ○ current versions ■ stein: 0.9.0 ■ train: 1.0.1 ■ ussuri: 2.0.0
  • 44. Cinder and the CSI ● cinderlib allows you to take advantage of all the tested driver code from the Cinder project ● cinderlib allows storage vendors to re-use the driver code that they have developed for Cinder
  • 45. Cinder and the CSI ● Ember CSI ● provides a CSI standard interface to cinderlib ● code: ember-csi . io
  • 46.
  • 47. So what’s up with Cinder? ● Not a lot of new features these days ● Mostly stability improvements ● Cinder grew really fast for a while, and added some features that we are still catching up with from a testing point of view ○ contribute to cinder-tempest-plugin! ● Vendors continue to add new drivers
  • 48. volume-local-cache ● a “stealth feature” in the victoria release ○ it’s not being announced ● still requires work on the compute side before it can be a real feature ● … and documentation ● design document: ○ specs . openstack . org / openstack / cinder-specs / ○ (look under the Victoria specs)
  • 49. Reference Links ● Release notes ○ https://docs.openstack.org/releasenotes/cinder/ ● Project documentation ○ https://cinder.openstack.org ● Cinder design documents ○ https://specs.openstack.org/openstack/cinder-specs/ ● Cinder wiki ○ https://wiki.openstack.org/wiki/Cinder ● Cinder YouTube ○ https://www.youtube.com/channel/UCJ8Koy4gsISMy0qW3CWZmaQ