SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
1
Cinder On-Boarding Education
Sean McGinnis (Huawei), Jay Bryant (Lenovo)
May 9, 2017 Boston
3
● Cinder’s Repos
● Brief overview of Cinder architecture/organization
● Cinder’s team
● Pointers to Upstream Institute education
● Applying OpenStack Process
● Cinder’s code
● Testing changes to Cinder
Agenda
4
Cinder Repos
● Brick Cinderclient for Standalone Cinder
○ https://github.com/openstack/python-brick-cinderclient-ext
● Cinderclient:
○ https://github.com/openstack/python-cinderclient
● Main Cinder repository:
○ https://github.com/openstack/cinder
● os-brick shared library:
○ https://github.com/openstack/os-brick
5
● Provides persistent
block storage resources
for an OpenStack
cloud.
● Supports multiple
back-ends. Nearly 100
volume drivers in tree.
Cinder Overview
6
Vendor Backends
● Drivers from many different vendors
● Different protocols used depending on the driver
○ iSCSI
○ Fibre Channel
○ RBD
○ Etc.
7
●Block Device Driver (local)
●Blockbridge (iSCSI)
●Coho (NFS)
●CoprHD (FC, iSCSI, scaleio)
●Datera (iSCSI)
●Dell/EMC PS Series (iSCSI)
●Dell/EMC ScaleIO (scaleio)
●Dell/EMC UnityDriver (FC, iSCSI)
●Dell/EMC VMAX (FC, iSCSI)
●Dell/EMC VNX (iSCSI/FC)
●Dell/EMC XtremIO (iSCSI/FC)
●Disco (disco)
●DRBD (DRBD/iSCSI)
●FalconStor (iSCSI/FC)
●Fujitsu ETERNUS (iSCSI/FC)
●GlusterFS (GlusterFS)
●HGST (NFS)
●HPE 3PAR (iSCSI/FC)
●HPE LeftHand (iSCSI)
●HPE MSA (iSCSI/FC)
●Huawei (iSCSI/FC)
●Huawei FusionStorage DSWare (iSCSI)
●IBM Flashsystem (iSCSI/FC)
●IBM GPFS (GPFS/NFS)
●IBM Storage (iSCSI/FC)
●IBM Storwize SVC (iSCSI/FC)
●Infinidat Infinibox (FC)
●Infortrend (iSCSI/FC)
●Kaminario (iSCSI)
●Lenovo (iSCSI/FC)
●LVM (iSCSI) – Reference*
●NEC M-Series (FC/iSCSI)
●NetApp 7-Mode (iSCSI/FC/NFS)
●NetApp C-Mode (iSCSI/FC/NFS)
●NetApp ONTAP (iSCSI/NFS/FC)
●Nexenta (iSCSI/NFS)
●Nexenta Edge (iSCSI/NBD)
●NFS – Reference
●Nimble Storage (iSCSI/FC)
●ProphetStor (iSCSI/FC)
●Pure Storage (iSCSI/FC)
●Quobyte (quobyte)
●RBD (Ceph) - Reference
●Reduxio (iSCSI)
●Scality SOFS (scality)
●Sheepdog (sheepdog)
●SolidFire (iSCSI)
●Synology (iSCSI)
●Tegile (iSCSI/FC)
●Tintri (NFS)
●Veritas HyperScale
●Virtuozzo Storage (NFS)
●VMWare (VMDK)
●Windows (SMB)
●X-IO (iSCSI/FC)
●Zadara (iSCSI)
●ZFS (iSCSI/NFS)
●ZTE (iSCSI)
Backends Drivers
Note: Supported drivers list. Full list may be seen here: https://docs.openstack.org/developer/cinder/drivers.html
8
Volume Attachment
LVM
Nova
VM instance
/dev/vda
KVM
iSCSI
initiator
Cinder
iSCSI
target
Note that iSCSI is just
an example – several
additional protocols
are supported
(e.g., FC, NFS)
Legend
Persistent volume control
Persistent volume data
9
Cinder’s Team
● PTL
○ Sean McGinnis (smcginnis)
● Core Team
○ Walt Boring (hemna)
○ Jay Bryant (jungleboyj)
○ Scott D’Angelo (scottda)
○ Michal Dulko (dulek)
○ Patrick East (patrickeast)
○ Gorka Eguileor (geguileo)
○ John Griffith (jgriffith)
○ Eric Harney (eharney)
○ Ivan Kolodyazhny (e0ne)
○ Mike Perez (thingee)
○ Duncan Thomas (DuncanT)
○ Xing Yang (Xyang)
○ Huang Zhiteng (winston-d)
10
Upstream Institute
● https://docs.openstack.org/upstream-training/
● Day and a half education session to help people new to
OpenStack
● Lead by OpenStack Foundation members and
volunteers
● Miss the Boston session … No problem, join us in
Sydney!
11
Upstream Institute - Key Info
● VM image to get your development started
● OpenStack account setup
○ https://docs.openstack.org/upstream-training/workflow-reg-and-accou
nts.html
● Launchpad/Storyboard introduction
○ https://docs.openstack.org/upstream-training/workflow-task-tracking.h
tml
● Workflow introduction
○ https://docs.openstack.org/upstream-training/workflow-training-contrib
ution-process.html
● Introduction to gerrit and code reviews
○ https://docs.openstack.org/upstream-training/workflow-gerrit.html
○ https://docs.openstack.org/upstream-training/workflow-reviewing.html
12
Cinder in OpenStack’s Processes
13
Cinder Bugs and Blueprints
● Still currently using Launchpad
● https://launchpad.net/cinder
14
Bug Tags
● low-hanging-fruit
● doc
● i18n
● security
● ops
● <SERIES>-rc-potential
● <SERIES>-backport-potential
● driver/drivers
● gate-failure
● ceph
● cinder
● backup-service
● create-volume-from-snapshot
15
Cinder Specs
● https://github.com/openstack/cinder-specs
● We request specs for more complicated changes
● Organized by release (specs/<release>)
● Template from which to start: specs/template.rst
● Before pushing your spec run ‘tox -e docs,py27,pep8’
○ Look for any errors and please correct before pushing
for review
16
IRC and Cinder Meetings
● #openstack-cinder
○ Please join us for all things Cinder
○ Try @? for some (╯°□°)╯︵ ┻━┻ fun
● Weekly Meeting
○ Wednesdays at 16:00 UTC
○ #openstack-meeting
○ https://wiki.openstack.org/wiki/CinderMeetings
○ Add agenda items with your IRC nickname to the wiki
page above
17
Typical Development Cycle
● Pike release schedule
○ https://releases.openstack.org/pike/schedule.html
● Milestone 2
○ Spec freeze
○ New driver merge deadline
● Milestone 3
○ New feature freeze
○ Move focus to testing and bug fixes
○ Need 3rd party CI’s functional to avoid addition of unsupported flag
● RC
○ Bug fixes only
● Some flexibility around dates allowed with core team and PTL’s discretion
18
3rd Party CI
● 3rd Party CI is required for all Cinder drivers
○ https://wiki.openstack.org/wiki/Cinder/tested-3rdParty-drivers
● Purpose
○ To ensure that a vendor’s driver functions properly as changes merge to
the Cinder tree
○ To show that patches against a vendor’s driver work
● Policy
○ 3rd Party CI must run successfully against a weekly job executed to test
that CI’s are reporting
○ 3rd Party CI must fail a job submitted that should fail all 3rd Party CI
testing.
○ A vendor CI that doesn’t meet these requirements during a release
cycle is marked ‘Unsupported’ and consumers have to update their
configs to indicate they wish to run an unsupported driver
○ Continued non-compliance results in driver removal in the next release.
19
3rd Party CI - Review Implications
● If a patch fails all CI’s, something is
wrong
● Patches against a driver must pass
the vendor’s CI before being
merged
20
About Reviews
● We need your help!
● Good way to get involved with Cinder
○ Learn the code and the project organization
○ Don’t need to know how Cinder works to catch logic errors and typos
● Gets you visibility to the Cinder team
● Review inboxes:
○ Cinder review inbox
○ os-brick review inbox
○ python-brick-cinderclient-ex review inbox
● Track how we are doing:
○ http://cinderstats-dellstorage.rhcloud.com/
21
Cinder Code Layout - Top Level
● api-ref -- Source documentation for v1,2 and 3 Cinder API
● cinder -- Cinder’s source directory with high level implementations at the top
level (i.e. exceptions, i18n, policy, utils, etc.)
● doc -- Developer documentation that is published to the OpenStack website
● etc -- Config files that are not automatically generated
● rally-jobs -- Rally tasks and plugins to be run by OpenStack CI
● releasenotes -- Contains release notes for patches
● tools -- Config generation script, driver list generation, etc.
22
Cinder Code Layout - /cinder
● api -- v1, 2, 3 and API extension implementation
● backup -- Backup driver API and implementations
● brick -- Legacy brick directory, mostly migrated to os-brick library
● cmd -- Starter scripts for Cinder’s processes (api, scheduler, volume, etc.)
● common -- Shared files for config, sqlalchemy, etc.
● compute -- Source for interfacing with Nova
● config -- Source files for config file generator
● consistencygroup -- Consistency Group API implementation
● db -- sqlalchemy migration scripts and DB API implementation
23
Cinder Code Layout - /cinder (cont.)
● group -- Generic Group API implementation
● hacking -- Hacking check implementation
● image -- Source for interfacing with Glance
● interface -- Base interface definition for driver validation and reference
● keymgr -- Simple security key implementation
● locale -- Translation files for log messages
● message -- User message API implementation
● objects -- Implementation of Cinder’s Oslo Versioned Objects
● scheduler -- Scheduling option implementations
● tests -- Compliance, functional, tempest and unit test implementation
● transfer -- API implementation of volume transfer
● volume -- Implementation of API and drivers for volumes
● wsgi -- Cinder Web Server Gateway Interface implementation
● zonemanager -- Fibre Channel Zonemanager implementation
24
Release Notes
● Developer’s way to communicate to the end user
● Most important for changes that impact Cinder’s functionality
● Documents:
○ Security issue fixes,
○ New features
○ Upgrade notes
○ Known issues
○ Deprecation notes
● Not required for every change, but important for anything that directly
impacts packagers or users
25
Tox Tests
● Tox is a test runner used by most OpenStack projects
● Many of the same test targets, but a few specific to Cinder
● Before submitting a patch, best to at least run py27 and pep8 targets
(tox -e py27,fast8)
py27, py35 Runs unit tests using either Python 2.7 or 3.5
genopts Must be run when adding any new config options to regenerate opts.py file
used to create the sample config
pep8, fast8 Runs code checks to make sure it conforms to coding style and hacking
checks to look for specific conditions
releasenotes Validates new release notes (must commit first!)
compliance Useful for driver developers, will validate all required driver interfaces are
implemented
Q & A

Mais conteúdo relacionado

Mais procurados

LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...Linaro
 
Manage your bare-metal infrastructure with a CI/CD-driven approach
Manage your bare-metal infrastructure with a CI/CD-driven approachManage your bare-metal infrastructure with a CI/CD-driven approach
Manage your bare-metal infrastructure with a CI/CD-driven approachinovex GmbH
 
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
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopGanesh Raju
 
RDO and Ceph meetup BCN - Testing in RDO
RDO and Ceph meetup BCN - Testing in RDORDO and Ceph meetup BCN - Testing in RDO
RDO and Ceph meetup BCN - Testing in RDOAlfredo Moralejo
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageLinaro
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience Linaro
 
R, Git, Github, and CI
R, Git, Github, and CIR, Git, Github, and CI
R, Git, Github, and CIWush Wu
 
Crash course in git and github
Crash course in git and githubCrash course in git and github
Crash course in git and githubMithun Shanbhag
 
Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02Linaro
 
Red Hat Container Development Kit
Red Hat Container Development KitRed Hat Container Development Kit
Red Hat Container Development KitLalatendu Mohanty
 
BKK16-307 LHG OE Initiative
BKK16-307 LHG OE InitiativeBKK16-307 LHG OE Initiative
BKK16-307 LHG OE InitiativeLinaro
 
BKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingBKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingLinaro
 
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)Linaro
 
How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)Pavel Snajdr
 
BKK16-411 Devicetree Specification
BKK16-411 Devicetree SpecificationBKK16-411 Devicetree Specification
BKK16-411 Devicetree SpecificationLinaro
 
Kernel Recipes 2016 - Control Group Status Update
Kernel Recipes 2016 -  Control Group Status UpdateKernel Recipes 2016 -  Control Group Status Update
Kernel Recipes 2016 - Control Group Status UpdateAnne Nicolas
 

Mais procurados (20)

LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
Manage your bare-metal infrastructure with a CI/CD-driven approach
Manage your bare-metal infrastructure with a CI/CD-driven approachManage your bare-metal infrastructure with a CI/CD-driven approach
Manage your bare-metal infrastructure with a CI/CD-driven approach
 
kpatch.kgraft
kpatch.kgraftkpatch.kgraft
kpatch.kgraft
 
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...
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
RDO and Ceph meetup BCN - Testing in RDO
RDO and Ceph meetup BCN - Testing in RDORDO and Ceph meetup BCN - Testing in RDO
RDO and Ceph meetup BCN - Testing in RDO
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
R, Git, Github, and CI
R, Git, Github, and CIR, Git, Github, and CI
R, Git, Github, and CI
 
Crash course in git and github
Crash course in git and githubCrash course in git and github
Crash course in git and github
 
Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02
 
Red Hat Container Development Kit
Red Hat Container Development KitRed Hat Container Development Kit
Red Hat Container Development Kit
 
BKK16-307 LHG OE Initiative
BKK16-307 LHG OE InitiativeBKK16-307 LHG OE Initiative
BKK16-307 LHG OE Initiative
 
BKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingBKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testing
 
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
LCE13: Test and Validation Summit: Evolution of Testing in Linaro (I)
 
How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)
 
BKK16-411 Devicetree Specification
BKK16-411 Devicetree SpecificationBKK16-411 Devicetree Specification
BKK16-411 Devicetree Specification
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
Kernel Recipes 2016 - Control Group Status Update
Kernel Recipes 2016 -  Control Group Status UpdateKernel Recipes 2016 -  Control Group Status Update
Kernel Recipes 2016 - Control Group Status Update
 

Semelhante a OpenStack Cinder On-Boarding Education - Boston Summit - 2017

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
 
OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020Brian Rosmaita
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fastDenis Karpenko
 
Cinder project update denver summit 2019
Cinder project update   denver summit 2019Cinder project update   denver summit 2019
Cinder project update denver summit 2019Jay Bryant
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Giovanni Toraldo
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody Garnett
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205Linaro
 
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
 
OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019Brian Rosmaita
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsLuca Mazzaferro
 
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.
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentationDrew Hannay
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesMender.io
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide ServicesGLC Networks
 
Testing Django APIs
Testing Django APIsTesting Django APIs
Testing Django APIstyomo4ka
 

Semelhante a OpenStack Cinder On-Boarding Education - Boston Summit - 2017 (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
 
OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
Cinder project update denver summit 2019
Cinder project update   denver summit 2019Cinder project update   denver summit 2019
Cinder project update denver summit 2019
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Paris.py
Paris.pyParis.py
Paris.py
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205
 
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
 
Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
 
OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperations
 
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)
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Testing Django APIs
Testing Django APIsTesting Django APIs
Testing Django APIs
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

OpenStack Cinder On-Boarding Education - Boston Summit - 2017

  • 1. 1
  • 2. Cinder On-Boarding Education Sean McGinnis (Huawei), Jay Bryant (Lenovo) May 9, 2017 Boston
  • 3. 3 ● Cinder’s Repos ● Brief overview of Cinder architecture/organization ● Cinder’s team ● Pointers to Upstream Institute education ● Applying OpenStack Process ● Cinder’s code ● Testing changes to Cinder Agenda
  • 4. 4 Cinder Repos ● Brick Cinderclient for Standalone Cinder ○ https://github.com/openstack/python-brick-cinderclient-ext ● Cinderclient: ○ https://github.com/openstack/python-cinderclient ● Main Cinder repository: ○ https://github.com/openstack/cinder ● os-brick shared library: ○ https://github.com/openstack/os-brick
  • 5. 5 ● Provides persistent block storage resources for an OpenStack cloud. ● Supports multiple back-ends. Nearly 100 volume drivers in tree. Cinder Overview
  • 6. 6 Vendor Backends ● Drivers from many different vendors ● Different protocols used depending on the driver ○ iSCSI ○ Fibre Channel ○ RBD ○ Etc.
  • 7. 7 ●Block Device Driver (local) ●Blockbridge (iSCSI) ●Coho (NFS) ●CoprHD (FC, iSCSI, scaleio) ●Datera (iSCSI) ●Dell/EMC PS Series (iSCSI) ●Dell/EMC ScaleIO (scaleio) ●Dell/EMC UnityDriver (FC, iSCSI) ●Dell/EMC VMAX (FC, iSCSI) ●Dell/EMC VNX (iSCSI/FC) ●Dell/EMC XtremIO (iSCSI/FC) ●Disco (disco) ●DRBD (DRBD/iSCSI) ●FalconStor (iSCSI/FC) ●Fujitsu ETERNUS (iSCSI/FC) ●GlusterFS (GlusterFS) ●HGST (NFS) ●HPE 3PAR (iSCSI/FC) ●HPE LeftHand (iSCSI) ●HPE MSA (iSCSI/FC) ●Huawei (iSCSI/FC) ●Huawei FusionStorage DSWare (iSCSI) ●IBM Flashsystem (iSCSI/FC) ●IBM GPFS (GPFS/NFS) ●IBM Storage (iSCSI/FC) ●IBM Storwize SVC (iSCSI/FC) ●Infinidat Infinibox (FC) ●Infortrend (iSCSI/FC) ●Kaminario (iSCSI) ●Lenovo (iSCSI/FC) ●LVM (iSCSI) – Reference* ●NEC M-Series (FC/iSCSI) ●NetApp 7-Mode (iSCSI/FC/NFS) ●NetApp C-Mode (iSCSI/FC/NFS) ●NetApp ONTAP (iSCSI/NFS/FC) ●Nexenta (iSCSI/NFS) ●Nexenta Edge (iSCSI/NBD) ●NFS – Reference ●Nimble Storage (iSCSI/FC) ●ProphetStor (iSCSI/FC) ●Pure Storage (iSCSI/FC) ●Quobyte (quobyte) ●RBD (Ceph) - Reference ●Reduxio (iSCSI) ●Scality SOFS (scality) ●Sheepdog (sheepdog) ●SolidFire (iSCSI) ●Synology (iSCSI) ●Tegile (iSCSI/FC) ●Tintri (NFS) ●Veritas HyperScale ●Virtuozzo Storage (NFS) ●VMWare (VMDK) ●Windows (SMB) ●X-IO (iSCSI/FC) ●Zadara (iSCSI) ●ZFS (iSCSI/NFS) ●ZTE (iSCSI) Backends Drivers Note: Supported drivers list. Full list may be seen here: https://docs.openstack.org/developer/cinder/drivers.html
  • 8. 8 Volume Attachment LVM Nova VM instance /dev/vda KVM iSCSI initiator Cinder iSCSI target Note that iSCSI is just an example – several additional protocols are supported (e.g., FC, NFS) Legend Persistent volume control Persistent volume data
  • 9. 9 Cinder’s Team ● PTL ○ Sean McGinnis (smcginnis) ● Core Team ○ Walt Boring (hemna) ○ Jay Bryant (jungleboyj) ○ Scott D’Angelo (scottda) ○ Michal Dulko (dulek) ○ Patrick East (patrickeast) ○ Gorka Eguileor (geguileo) ○ John Griffith (jgriffith) ○ Eric Harney (eharney) ○ Ivan Kolodyazhny (e0ne) ○ Mike Perez (thingee) ○ Duncan Thomas (DuncanT) ○ Xing Yang (Xyang) ○ Huang Zhiteng (winston-d)
  • 10. 10 Upstream Institute ● https://docs.openstack.org/upstream-training/ ● Day and a half education session to help people new to OpenStack ● Lead by OpenStack Foundation members and volunteers ● Miss the Boston session … No problem, join us in Sydney!
  • 11. 11 Upstream Institute - Key Info ● VM image to get your development started ● OpenStack account setup ○ https://docs.openstack.org/upstream-training/workflow-reg-and-accou nts.html ● Launchpad/Storyboard introduction ○ https://docs.openstack.org/upstream-training/workflow-task-tracking.h tml ● Workflow introduction ○ https://docs.openstack.org/upstream-training/workflow-training-contrib ution-process.html ● Introduction to gerrit and code reviews ○ https://docs.openstack.org/upstream-training/workflow-gerrit.html ○ https://docs.openstack.org/upstream-training/workflow-reviewing.html
  • 13. 13 Cinder Bugs and Blueprints ● Still currently using Launchpad ● https://launchpad.net/cinder
  • 14. 14 Bug Tags ● low-hanging-fruit ● doc ● i18n ● security ● ops ● <SERIES>-rc-potential ● <SERIES>-backport-potential ● driver/drivers ● gate-failure ● ceph ● cinder ● backup-service ● create-volume-from-snapshot
  • 15. 15 Cinder Specs ● https://github.com/openstack/cinder-specs ● We request specs for more complicated changes ● Organized by release (specs/<release>) ● Template from which to start: specs/template.rst ● Before pushing your spec run ‘tox -e docs,py27,pep8’ ○ Look for any errors and please correct before pushing for review
  • 16. 16 IRC and Cinder Meetings ● #openstack-cinder ○ Please join us for all things Cinder ○ Try @? for some (╯°□°)╯︵ ┻━┻ fun ● Weekly Meeting ○ Wednesdays at 16:00 UTC ○ #openstack-meeting ○ https://wiki.openstack.org/wiki/CinderMeetings ○ Add agenda items with your IRC nickname to the wiki page above
  • 17. 17 Typical Development Cycle ● Pike release schedule ○ https://releases.openstack.org/pike/schedule.html ● Milestone 2 ○ Spec freeze ○ New driver merge deadline ● Milestone 3 ○ New feature freeze ○ Move focus to testing and bug fixes ○ Need 3rd party CI’s functional to avoid addition of unsupported flag ● RC ○ Bug fixes only ● Some flexibility around dates allowed with core team and PTL’s discretion
  • 18. 18 3rd Party CI ● 3rd Party CI is required for all Cinder drivers ○ https://wiki.openstack.org/wiki/Cinder/tested-3rdParty-drivers ● Purpose ○ To ensure that a vendor’s driver functions properly as changes merge to the Cinder tree ○ To show that patches against a vendor’s driver work ● Policy ○ 3rd Party CI must run successfully against a weekly job executed to test that CI’s are reporting ○ 3rd Party CI must fail a job submitted that should fail all 3rd Party CI testing. ○ A vendor CI that doesn’t meet these requirements during a release cycle is marked ‘Unsupported’ and consumers have to update their configs to indicate they wish to run an unsupported driver ○ Continued non-compliance results in driver removal in the next release.
  • 19. 19 3rd Party CI - Review Implications ● If a patch fails all CI’s, something is wrong ● Patches against a driver must pass the vendor’s CI before being merged
  • 20. 20 About Reviews ● We need your help! ● Good way to get involved with Cinder ○ Learn the code and the project organization ○ Don’t need to know how Cinder works to catch logic errors and typos ● Gets you visibility to the Cinder team ● Review inboxes: ○ Cinder review inbox ○ os-brick review inbox ○ python-brick-cinderclient-ex review inbox ● Track how we are doing: ○ http://cinderstats-dellstorage.rhcloud.com/
  • 21. 21 Cinder Code Layout - Top Level ● api-ref -- Source documentation for v1,2 and 3 Cinder API ● cinder -- Cinder’s source directory with high level implementations at the top level (i.e. exceptions, i18n, policy, utils, etc.) ● doc -- Developer documentation that is published to the OpenStack website ● etc -- Config files that are not automatically generated ● rally-jobs -- Rally tasks and plugins to be run by OpenStack CI ● releasenotes -- Contains release notes for patches ● tools -- Config generation script, driver list generation, etc.
  • 22. 22 Cinder Code Layout - /cinder ● api -- v1, 2, 3 and API extension implementation ● backup -- Backup driver API and implementations ● brick -- Legacy brick directory, mostly migrated to os-brick library ● cmd -- Starter scripts for Cinder’s processes (api, scheduler, volume, etc.) ● common -- Shared files for config, sqlalchemy, etc. ● compute -- Source for interfacing with Nova ● config -- Source files for config file generator ● consistencygroup -- Consistency Group API implementation ● db -- sqlalchemy migration scripts and DB API implementation
  • 23. 23 Cinder Code Layout - /cinder (cont.) ● group -- Generic Group API implementation ● hacking -- Hacking check implementation ● image -- Source for interfacing with Glance ● interface -- Base interface definition for driver validation and reference ● keymgr -- Simple security key implementation ● locale -- Translation files for log messages ● message -- User message API implementation ● objects -- Implementation of Cinder’s Oslo Versioned Objects ● scheduler -- Scheduling option implementations ● tests -- Compliance, functional, tempest and unit test implementation ● transfer -- API implementation of volume transfer ● volume -- Implementation of API and drivers for volumes ● wsgi -- Cinder Web Server Gateway Interface implementation ● zonemanager -- Fibre Channel Zonemanager implementation
  • 24. 24 Release Notes ● Developer’s way to communicate to the end user ● Most important for changes that impact Cinder’s functionality ● Documents: ○ Security issue fixes, ○ New features ○ Upgrade notes ○ Known issues ○ Deprecation notes ● Not required for every change, but important for anything that directly impacts packagers or users
  • 25. 25 Tox Tests ● Tox is a test runner used by most OpenStack projects ● Many of the same test targets, but a few specific to Cinder ● Before submitting a patch, best to at least run py27 and pep8 targets (tox -e py27,fast8) py27, py35 Runs unit tests using either Python 2.7 or 3.5 genopts Must be run when adding any new config options to regenerate opts.py file used to create the sample config pep8, fast8 Runs code checks to make sure it conforms to coding style and hacking checks to look for specific conditions releasenotes Validates new release notes (must commit first!) compliance Useful for driver developers, will validate all required driver interfaces are implemented
  • 26. Q & A