sandbox
sandbox copied to clipboard
[Sandbox] OpenEBS - Promotion from Archive -> Sandbox
Application contact emails
[email protected], [email protected]
Also see OpenEBS project leadership Maintainers team
Project Summary
Cloud native storage
Project Description
OpenEBS was accepted as a Sandbox project in 2019, then moved to archive in Feb 2024. For background on why, see OpenEBS - why we were archived. The project team and sponsoring company have made changes in order to ensure the long term sustainability of OpenEBS. We are asking to unarchive the project, and are challenging ourselves to move forward in the CNCF maturity process.
OpenEBS provides enterprise grade block storage for Kubernetes, enabling persistent resilient cloud native storage (storage is managed-from and contained-within a Kubernetes cluster). OpenEBS is popular, with >25,000 new clusters installed every month. This is a re-application to Sandbox. Project was archived Feb 2024 after TOC vote on 1051. 😢 The team has listened to TOC feedback, has made changes 😄 , and is now seeking readmission to Sandbox. Changes include:
- Archived older storage engines and consolidated engines from 11 to 4 (75 repos to 38), these are the actively maintained repos that will be further developed in the future.
- Reworked documentation
- Reworked all governance docs, and centralized to umbrella Community repo
- Rewrote project docs including Vision.md, Governance.md, Contributing.md
- Instituted processes inside the project, so people abide by the project docs
- Engaged with Linux Foundation brand counsel (DanielC) to bring DataCore’s commercial offering into compliance
- Project members attended KubeCon Paris, in order to engage with the community on how best to proceed reapplying for sandbox in the most efficient manager possible - we’ve been working with the CNCF Projects team to help us meet the requirements. (ChrisA and JorgeC)
- Educated parent company DataCore’s staff on open source and CNCF policies and procedures
- Assigned a CNCF liaison (Ed Robinson), who reports to DataCore CEO to represent the project and take guidance from the TOC We hope to gain admission to Sandbox soon, then work with CNCF towards incubation, then graduation.
Org repo URL (provide if all repos under the org are in scope of the application)
https://github.com/openebs
Project repo URL in scope of application
https://github.com/openebs/mayastor
Additional repos in scope of the application
The new OpenEBS project consists of 5 Storage Engines. The strategy is to eventually unify all 5 into 1 platform. There are sub repos & dependencies, 1 sub project & 1 critical external fork dependency. We took advice from TOC, and advised community, then deprecated, then moved tech-debt of 44 legacy repos to openebs-archive org based on guidance from @caniszczyk and @castrojo. - Our new repo structure is listed below, with engines listed in order of User Adoption:
| Name | Project Repos |
|---|---|
| Community | https://github.com/openebs/community/ |
| Local PV Hostpath | https://github.com/openebs/dynamic-localpv-provisioner |
| Local PV ZFS | https://github.com/openebs/zfs-localpv |
| Local PV LVM | https://github.com/openebs/lvm-localpv |
| Replicated PV Mayastor | https://github.com/openebs/mayastor |
| https://github.com/openebs/mayastor-control-plane | |
| https://github.com/openebs/mayastor-extensions | |
| https://github.com/openebs/spdk | |
| SPDK fork w/OpenEBS patches | https://github.com/openebs/spdk-rs |
| Local PV Raw Device | https://github.com/openebs/rawfile-localpv |
Website URL
https://openebs.io
Roadmap
https://github.com/openebs/openebs/blob/main/ROADMAP.md
Roadmap context
The new project roadmap & strategy is to Unify 5 Storage Engines into 1 single Storage platform, covering Local PV, Replicated PV, 3 Backend Storage Mgmt stacks and 7 Tier-1 Cloud Providers. This is a major project change compared to the old roadmap, which did not provide any attention, love or focus on the 4 Local PV engines. This lack of focus on our behalf created a stale & disappointed community with low contribs. - We acknowledge that this was wrong and our new Roadmap + VISION doc now defines a specific commitment to the very large Local PV community (1.7Million users).
In support of the new Roadmap, we defined a VISION doc as part of our new GOVERNANCE structure that supports the roadmap and helps guide us, our devs contribs and the community
Contributing Guide
https://github.com/openebs/community/blob/develop/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/openebs/community/blob/develop/CODE_OF_CONDUCT.md
Adopters
https://github.com/openebs/community/blob/develop/ADOPTERS.md
Contributing or Sponsoring Org
https://www.datacore.com/
Maintainers file
https://github.com/openebs/community/blob/develop/MAINTAINERS
IP Policy
- [X] If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
- [X] If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
OpenEBS was accepted as a Sandbox project in 2019, then moved to archive in Feb 2024.
We have re-examined why we want to continue to contribute to CNCF. Here is why:
- We believe cloud native computing is a generational change in how people build, deploy and use software
- No one should own the future’s platform, it needs to be open source for the world to fully embrace it, and to nurture innovation
- We see CNCF as an organization able to protect, guide and nurture the Kubernetes open source platform
- The part we can contribute is block storage. This is “rocket science”, and one of the last last areas of technology to be open sourced, because it takes a large team, months of innovation + years of testing.
- OpenEBS adds >25,000 clusters to our install base every month, it meets an important requirement for Kubernetes users who choose to manage storage from within their cluster
- Our project team is proud of our progress, and being able to work with cloud-native adopters, together we are inventing and protecting the future.
Benefit to the Landscape
“No one thinks about their storage until it stops working”
- Since the OpenEBS project started, we have innovated in a number of areas: we were the first to truly develop container native storage, the first to bring replicated storage with NVMe driver to Kubernetes
- OpenEBS meets an important requirement for the many many Kubernetes users who choose to manage storage from within their cluster
The four overarching benefits to the landscape are:
- OpenEBS strengthens the K8s landscape with Enterprise Grade Data Management capabilities
- We provide the ability to manage and provision storage from within a Kubernetes cluster, with no reliance on external services
- Data resilience and data protection
- Simplicity - our goal is to continually make the product simpler, with sensible defaults and “it just works”
Cloud Native 'Fit'
OpenEBS is cloud native storage. Designed from the ground for Kubernetes. Every one of our maintainers, contributors and users are Kubernetes users.
Every K8s user should have the choice to use internal or external storage. Without a cloud native, enterprise storage solution like OpenEBS, people don’t have the choice, and have to rely on external non-cloud-native storage.
Cloud Native 'Integration'
Kubernetes Containerd KubeVirt Kubernetes Etcd NATS HELM gRPC Jaegar OpenTelemetry Prometheus Open Telemetry
Cloud Native Overlap
Longhorn (storage) CubeFS (storage) Rook/Ceph (storage)
Similar projects
Longhorn (storage) CubeFS (storage) Rook/Ceph (storage)
Landscape
Cloud Native Storage
Business Product or Service to Project separation
DataCore has a commercial offering complementing OpenEBS. After consultation with Linux Foundation (DanielC brand counsel), the commercial offering will NOT use the name OpenEBS PRO. The name is being decided, it will comply with LF trademark usage guidelines.
OpenEBS and DataCore’s commercial offering have clearly defined separate scopes (see VISION.md in community docs).
- OpenEBS provides a core set of storage drivers, resilience, availability and fault tolerance
- DataCore commercial offering is targeting enterprises, with 24x7 production support, enterprise integrations, platform optimizations (eg: DataCore is providing an optimized product for hosted Kubernetes platforms)
For organization:
- DataCore’s development uses a different development environment
- DataCore employees are assigned to work in either the open source project or commercial offering
- Open source assignment or commercial assignment is clearly delineated and not mixed together
Project presentations
Prior to project-archiving, OpenEBS has participated with TAG Storage (the presentations may have been archived). There have been no presentations post-project-archiving.
Project champions
Jorge Castro Chris Aniszczyk Emily Fox Nick Connolly Alex Chircop
Additional information
OpenEBS was accepted to Sandbox five years ago. Since then the project has become the most widely adopted Kubernetes storage solution.
We have accepted and adopted changes recommended by the TOC in February 2024.
OpenEBS is an important project. People rely on OpenEBS as a foundation for their Kubernetes infrastructure: We have a lot of production installations, including Microsoft who use OpenEBS in Azure Container services; CIVO who use OpenEBS as the basis for their hosted storage; Flipboard, India’s largest eCommerce service who rely on OpenEBS for their storage.
While OpenEBS is in Archive, our users are uncertain of the project’s future, and the future of their own software that depends on OpenEBS.
We request TOC considers a promotion to Sandbox as soon as possible, and we will work with CNCF to develop and execute a plan to move the project to incubation status immediately afterwards.
adding prefix [Sandbox]
Update: Project team presented to Tag Storage today (7/24). Link to Presentation
Update2: Since beginning of June, OpenEBS has held weekly maintainer meetings, and minute the meetings, for transparency. Minutes of the weekly meetings are here
@edrob999 Are the meetings recorded? Please link the recording location.
Sorry @angellk - b/c project is in archive, most CNCF project resources were turned off. See Reference. We've got some access, but not Zoom or ability to publish community mtgs on CNCF calendar yet. For now, we're using free Google Meet, no recording capability, we're announcing the community mtgs on Slack. Looking forward to getting full access to the project resources again!
Hi @edrob999 - many open source projects are not part of an official foundation and do record and upload to various channels for community engagement, including google drive or video channels. The free version of Zoom allows local recording to upload anywhere (including YouTube).
As your project is applying to be promoted from archive, I was interested to see how community meetings are held, how features are discussed, as well as open discussion around the roadmap. Please update if you are able to record community sessions.
Hi @angellk. If this is "critical" for our sandbox application, let me know - we'll cancel the existing community mtgs and set them up using free Zoom, although recording is limited to 40 mins. I would prefer we set the vid recording up after we've been accepted to Sandbox and have access to the CNCF Zoom. But let me know - we are happy to take guidance, and are making a genuine effort for transparency. Ed
Thank you @edrob999 - having a way for community members to engage with your community meetings would be great - and being able to view the recordings is one way to do that.
Please connect with TAG Contributor Strategy - if you have not already done so - for guidance on building your community.
Also, please update your README and Community Pages for accuracy and to communicate access to your community meetings. I cannot locate a resource that shows how to join your community meetings live.
@angellk - good points, I'll make the change to ReadMe as you suggest. I need to push back on switching to recorded Zoom for our community meeting this week (DM me if you want to talk thru it), we do understand the importance of the recordings.
Following @TheFoxAtWork suggestion, I joined Tag Contributor Strategy(governance) working group about 3 weeks ago, both to help OpenEBS, and to contribute. We did a verbal review with @riaankleinhans, @jberkus, @geekygirldawn. Like all projects we have stuff to work on.
Within the project leadership, I have the most interest in governance/contributor strategy. After reviewing with Tag, my four priorities are:
- Contributor Ladder / path-to-maintainer. I wrote it. I thought it was clear. I was wrong. I have a PR in-review to improve clarity. We then need to put the policy into practice, and sustain this effort.
- Ensuring transparency and easy-to-find resources (we have too much documentation, and it needs to be organized better for people to find).
- Growing contributor base + external maintainers. In the last year, we had contributions from 21 sponsor, and 44 non-sponsor people. We will apply energy to grow non-sponsor contributors + maintainers.
- Cementing processes with project sponsor (DataCore) to ensure independent governance, and both sponsor + project have well understood boundaries
All of these require work, and I wish progress was faster. Most important for me is to ensure improvements "stick", beyond the tenure of myself + other individuals. I believe our current project governance already compares well against Sandbox projects. But we have more work to do, and I appreciate ongoing guidance and best practices as the project moves forward.
Ed
@angellk: We revised the org Readme, so community meetings are easier to find (including the next meeting): https://github.com/openebs/#monthly-community-meeting
The vid from last week's meeting is here: https://www.youtube.com/watch?v=CjjqzrPGxVU
The links to the vids, plus minutes from weekly maintainers meetings are all in the openEBS Community repo discussions: https://github.com/openebs/community/discussions
Reviewing the document, fixed some typos. May fix some more
The maintainers asked for some language changes made to the submission tracked in this GitHub issue. The change includes removing names of supporters we didn't ask permission from (an honest mistake)
Best of luck with the Sandbox Application, we all see the work you're putting in, and Civo relies on OpenEBS for Civo Platform, used by hundreds of companies
FYI: OpenEBS has been working with TAG-CS on their governance.
In February when CNCF archived OpenEBS, we committed to making changes, and re-applying.
This Sandbox application is the first step: we addressed the technical issues and re-worked project governance (including maintainer lifecycle). We put in place transparency: the project is now publishing minutes of regular maintainer meetings, videos of community meetings.
If the Sandbox application is approved, the second step comes next: DataCore commits to ensuring OpenEBS becomes a true community project, with a growing contributor base, and a diverse group of maintainers leading the project. We will work with CNCF to make this happen as the project moves towards incubation then graduation.
Dave Zabrowski CEO, DataCore Software
Microsoft supports the OpenEBS application to Sandbox. Azure Container Storage is based in part on several OpenEBS components. We are talking with the maintainers about how Microsoft can contribute back to the project.
The TAG Storage review is here: https://docs.google.com/document/d/1Biq0gWG8o2npNfjvUiM4WIeFuM9o3I1ZQMDBXz28YAY/edit
TAG recommendation to TOC: Storage TAG recommends YES for sandbox.
Project has been given the okay to move to a vote in today's sandbox review /vote
Vote created
@mrbobbytables has called for a vote on [Sandbox] OpenEBS - Promotion from Archive -> Sandbox (#104).
The members of the following teams have binding votes:
| Team |
|---|
| @cncf/cncf-toc |
Non-binding votes are also appreciated as a sign of support!
How to vote
You can cast your vote by reacting to this comment. The following reactions are supported:
| In favor | Against | Abstain |
|---|---|---|
| 👍 | 👎 | 👀 |
Please note that voting for multiple options is not allowed and those votes won't be counted.
The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.
As part of my vote in favor of this project I would like to call attention to an important consideration for the project's future success in CNCF:
Ed has been instrumental in bringing the OpenEBS project into alignment with CNCF expectations of sandbox projects. He has engaged CNCF staff and several community members on direction and next steps for the project towards potential incubation-level maturity. The project's current efforts have been largely shouldered by Ed and a few others.
However as with all concerns regarding projects survivability of the lottery factor, it will be paramount to OpenEBS's continued progress that additional community members of OpenEBS step into active leadership roles for the project to more healthfully distribute those efforts beyond a single individual.
/check-vote
Vote status
So far 36.36% of the users with binding vote are in favor (passing threshold: 66%).
Summary
| In favor | Against | Abstain | Not voted |
|---|---|---|---|
| 4 | 0 | 0 | 7 |
Binding votes (4)
| User | Vote | Timestamp |
|---|---|---|
| dims | In favor | 2024-10-08 18:07:10.0 +00:00:00 |
| rochaporto | In favor | 2024-10-09 1:03:31.0 +00:00:00 |
| TheFoxAtWork | In favor | 2024-10-08 17:26:31.0 +00:00:00 |
| angellk | In favor | 2024-10-08 17:21:21.0 +00:00:00 |
| @mauilion | Pending | |
| @linsun | Pending | |
| @dzolotusky | Pending | |
| @kevin-wangzefeng | Pending | |
| @cathyhongzhang | Pending | |
| @nikhita | Pending | |
| @kgamanji | Pending |
Non-binding votes (5)
| User | Vote | Timestamp |
|---|---|---|
| tamalsaha | In favor | 2024-10-08 18:01:02.0 +00:00:00 |
| chira001 | In favor | 2024-10-08 18:21:32.0 +00:00:00 |
| avishnu | In favor | 2024-10-08 19:12:31.0 +00:00:00 |
| tiagolobocastro | In favor | 2024-10-08 19:17:33.0 +00:00:00 |
| orville-wright | In favor | 2024-10-08 23:50:51.0 +00:00:00 |
/check-vote
Votes can only be checked once a day.
/check-vote
Vote status
So far 72.73% of the users with binding vote are in favor (passing threshold: 66%).
Summary
| In favor | Against | Abstain | Not voted |
|---|---|---|---|
| 8 | 0 | 0 | 3 |
Binding votes (8)
| User | Vote | Timestamp |
|---|---|---|
| rochaporto | In favor | 2024-10-09 1:03:31.0 +00:00:00 |
| kgamanji | In favor | 2024-10-09 12:51:37.0 +00:00:00 |
| linsun | In favor | 2024-10-09 15:13:06.0 +00:00:00 |
| angellk | In favor | 2024-10-08 17:21:21.0 +00:00:00 |
| dims | In favor | 2024-10-08 18:07:10.0 +00:00:00 |
| nikhita | In favor | 2024-10-09 6:06:39.0 +00:00:00 |
| cathyhongzhang | In favor | 2024-10-09 20:45:27.0 +00:00:00 |
| TheFoxAtWork | In favor | 2024-10-08 17:26:31.0 +00:00:00 |
| @mauilion | Pending | |
| @dzolotusky | Pending | |
| @kevin-wangzefeng | Pending |
Non-binding votes (9)
| User | Vote | Timestamp |
|---|---|---|
| tamalsaha | In favor | 2024-10-08 18:01:02.0 +00:00:00 |
| chira001 | In favor | 2024-10-08 18:21:32.0 +00:00:00 |
| avishnu | In favor | 2024-10-08 19:12:31.0 +00:00:00 |
| tiagolobocastro | In favor | 2024-10-08 19:17:33.0 +00:00:00 |
| orville-wright | In favor | 2024-10-08 23:50:51.0 +00:00:00 |
| dsharma-dc | In favor | 2024-10-09 5:41:21.0 +00:00:00 |
| croomes | In favor | 2024-10-09 18:30:34.0 +00:00:00 |
| edreed | In favor | 2024-10-09 18:55:18.0 +00:00:00 |
| Johnaius | In favor | 2024-10-09 19:07:36.0 +00:00:00 |
Vote closed
The vote passed! 🎉
81.82% of the users with binding vote were in favor (passing threshold: 66%).
Summary
| In favor | Against | Abstain | Not voted |
|---|---|---|---|
| 9 | 0 | 0 | 2 |
Binding votes (9)
| User | Vote | Timestamp |
|---|---|---|
| @linsun | In favor | 2024-10-09 15:13:06.0 +00:00:00 |
| @angellk | In favor | 2024-10-08 17:21:21.0 +00:00:00 |
| @dims | In favor | 2024-10-08 18:07:10.0 +00:00:00 |
| @TheFoxAtWork | In favor | 2024-10-08 17:26:31.0 +00:00:00 |
| @cathyhongzhang | In favor | 2024-10-09 20:45:27.0 +00:00:00 |
| @kevin-wangzefeng | In favor | 2024-10-10 6:54:18.0 +00:00:00 |
| @nikhita | In favor | 2024-10-09 6:06:39.0 +00:00:00 |
| @kgamanji | In favor | 2024-10-09 12:51:37.0 +00:00:00 |
| @rochaporto | In favor | 2024-10-09 1:03:31.0 +00:00:00 |
Non-binding votes (9)
| User | Vote | Timestamp |
|---|---|---|
| @tamalsaha | In favor | 2024-10-08 18:01:02.0 +00:00:00 |
| @chira001 | In favor | 2024-10-08 18:21:32.0 +00:00:00 |
| @avishnu | In favor | 2024-10-08 19:12:31.0 +00:00:00 |
| @tiagolobocastro | In favor | 2024-10-08 19:17:33.0 +00:00:00 |
| @orville-wright | In favor | 2024-10-08 23:50:51.0 +00:00:00 |
| @dsharma-dc | In favor | 2024-10-09 5:41:21.0 +00:00:00 |
| @croomes | In favor | 2024-10-09 18:30:34.0 +00:00:00 |
| @edreed | In favor | 2024-10-09 18:55:18.0 +00:00:00 |
| @Johnaius | In favor | 2024-10-09 19:07:36.0 +00:00:00 |
Great!
I had a question: What do we do next? Is there something the OpenEBS maintainers could do to help? Sorry if there's some doc I missed. Thanks :). Tagging @chira001.
Great!
I had a question: What do we do next? Is there something the OpenEBS maintainers could do to help? Sorry if there's some doc I missed. Thanks :). Tagging @chira001.
Hi @niladrih - an onboarding issue will be opened by the CNCF onboarding team. Cc: @krook
Congrats on being accepted back into Sandbox from Archived! Here is your onboarding checklist: https://github.com/cncf/sandbox/issues/299
If you have any questions, please don't hesitate to reach out!