Welcome to OpenSDS’s documentation!¶
OpenSDS is an industry-wide open source project under Linux Foundation for software-defined storage management, which promotes the use of simplified storage interfaces using a scalable storage controller architecture with open standard APIs, with the objective of providing applicaiton-oriented storage services.
EUAC¶
OpenSDS End User Advisory Committee
Mission¶
The End User Advisory Committee (EUAC) is to assist and support the OpenSDS community in its objectives by providing technical and strategic guidance real-world storage challenges
Members¶
- Cosimo Rosetti (Vodafone)
- Kei Kusunoki (NTT Communications)
- Yusuke Sato (Yahoo Japan)
- Yuji Yazawa (Toyota)
- Wim Jacobs (KPN)
- Shinya Tsunematsu (GMO Pepabo)
Bi-weekly Meetings¶
This meeting is hosted on zoom. Join the EUAC mailing list for info on meetings
Zoom Meeting: https://zoom.us/j/477192859
Or iPhone one-tap : US: +19294362866,,477192859# or +16699006833,,477192859# Or Telephone: Dial(for higher quality, dial a number based on your current location): US: +1 929 436 2866 or +1 669 900 6833 Meeting ID: 477 192 859 International numbers available: https://zoom.us/zoomconference?m=h0x5xsxAwYr_grrKRsEx_7PLkOfvL3bm
Meeting Minutes¶
TSC¶
OpenSDS Technical Steering Commitee
Mission¶
To provide technical guidance for OpenSDS community development.
Members¶
- Anjaneya Chagam (Intel)
- Rakesh Jain (IBM)
- Allen Samuels (WD/SanDisk)
- Steven Tan (Huawei)
- Jay Bryant (Lenovo)
- Shinya Hamano (Fujitsu)
Bi-Weekly Meetings¶
This meeting is hosted on zoom. Join the TSC mailing list for info on meetings
Zoom Meeting: https://zoom.us/j/477192859
Or iPhone one-tap : US: +19294362866,,477192859# or +16699006833,,477192859# Or Telephone: Dial(for higher quality, dial a number based on your current location): US: +1 929 436 2866 or +1 669 900 6833 Meeting ID: 477 192 859 International numbers available: https://zoom.us/zoomconference?m=h0x5xsxAwYr_grrKRsEx_7PLkOfvL3bm
Meeting Minutes¶
Kubernetes Storage SIG¶
Q1 2017 Documents
OpenSDS¶
Introduction¶
The OpenSDS Project is a collaborative project under Linux Foundation supported by storage users and vendors, including Dell EMC, Intel, Huawei, Fujitsu, Western Digital, Vodafone, NTT and Oregon State University. The project will also seek to collaborate with other upstream open source communities such as Cloud Native Computing Foundation, Docker, OpenStack, and Open Container Initiative.
It is a software defined storage controller that provides unified block, file, object storage services and focuses on:
- Simple: well-defined API that follows the OpenAPI specification.
- Lightweight: no external dependencies, deployed once in binary file or container.
- Extensible: pluggable framework available for different storage systems, identity services, capability filters, etc.
Community¶
The OpenSDS community welcomes anyone who is interested in software defined storage and shaping the future of cloud-era storage. If you are a company, you should consider joining the OpenSDS Project. If you are a developer want to be part of the code development that is happening now, please refer to the Contributing sections below.
Contact¶
- Mailing list: opensds-tech-discuss
- slack: #opensds
- Ideas/Bugs: issues
OpenSDS Northbound Plugin Project¶
Introduction¶
The SUSHI Project is an umbrella project for all the OpenSDS Project NorthBound Plugins, for OpenStack, Kubernetes, Mesos, VMware and more. The plugins themselves could have multiple hosting location, however the OpenSDS Sushi Project repo should always have the most up-to-date version.
Sushi will also seek to collaborate with other upstream open source communities such as Cloud Native Computing Foundation, Docker, OpenStack, and Open Container Initiative.
Community¶
The OpenSDS community welcomes anyone who is interested in software defined storage and shaping the future of cloud-era storage. If you are a company, you should consider joining the OpenSDS Project. If you are a developer want to be part of the code development that is happening now, please refer to the Contributing sections below.
Contact¶
- Mailing list: opensds-tech-discuss
- slack: #opensds
- Ideas/Bugs: issues
Design Specs¶
OpenSDS design proposals repo.
OpenSDS Architecture¶
OpenSDS Roadmap¶
Design Proposal Links¶
Design proposals are drafted here:
OpenSDS Group Snapshots Design
Contact¶
- Mailing list: opensds-tech-discuss
- slack: #opensds
- Ideas/Bugs: issues
OpenSDS Installer¶
For detailed information about this project, please refer to the repo.
Introduction¶
This project is designed for locating the code for installing all required components to set up a cluster, including controller and nbp plugins. Currently we support several install tools for diversity.
Contact¶
- Mailing list: opensds-tech-discuss
- slack: #opensds
- Ideas/Bugs: issues
Local-Cluster-Installation¶
Here is a tutorial guiding users and new contributors to get familiar with OpenSDS by installing a simple local cluster.
If you are an end-user who are interested in this project, some links for installation and testing are as follows:
- OpenSDS Local Cluster Installation through Ansible On Ubuntu (Recommended)
- OpenSDS Local Cluster Installation On Red Hat Enterprise Linux
If you are a code developer and wish to contribute in this project, here are some links for quickly installing OpenSDS Hotpot project:
If you want to deploy and test opensds integrated with Kubernetes scenario, please refer to:
- OpenSDS Integration with Kubernetes CSI (Recommended)
- OpenSDS Integration with Kubernetes Flexvolume (Deprecated)
- OpenSDS Installation with Kubernetes Service Catalog (Alpha)
Official Releases¶
Bali¶
The OpenSDS Bali release completed December 19, 2018.
Features¶
The Bali release adds the following functionality:
- Introduced management of multiple OpenStack deployments
- Multi-Cloud support
- S3 API support with AWS, Azure, Huawei Cloud, and local Ceph object store and Fusion Storage backends.
- Manual and basic policy based migration for AWS, Azure, Huawei Cloud, Ceph, and Fusion Storage.
- Dashboard UI interface has been broken out into separately installed component and integrated with multicloud support.
- Added ability to upload/download snapshot to/from cloud storage
- Updated support for the Container Storage Interface (CSI) v1.0 specification
- Added support to create snapshot and create volume from snapshot
- Added support for NodeStageVolume and NodeUnstageVolume.
- Support to provision replicated volumes using OpenSDS CSI plugin
- CSI plugin refactoring and FC support
- Southbound Fusion Storage and OceanStor V3/V5 volume drivers
- Integrated profiles properties definition and selector filtering.
- Support external volumes for VMs or baremetal.
- Add API support for AvailabilityZone.
- Installation with Helm (tested with LVM)
The OpenSDS controller (Hotpot), the north bound plugins (Sushi), the multiple cloud(Gelato), the opensds dashboard and the installer can be downloaded from here:
Aruba¶
The OpenSDS Aruba release completed June 30, 2018.
Features¶
The Aruba release adds the following functionality:
- Array-based replication
- Cinder compatible API
- Containerized deployment
- Controller API request filter
- Create volume from snapshot
- Dashboard UI interface
- Extend volume support
- Fibre channel protocol support
- Host-based replication
- Multi-tenancy support in the API
- OpenStack Keystone authentication
- Storage backend capabilities reporting
- Storage pool capability reporting
- Volume groups
The OpenSDS controller (Hotpot), the north bound plugins (Sushi), and the installer can be downloaded from here:
Tutorials-for-Beginners¶
If you are a beginner and expect opensds project as the gate to open source world, this tutorial is one of the best choices for you. Just follow the guidance and you will find the pleasure to becoming a contributor.
Step 1: Fork opensds repository¶
Before making modifications of opensds project, you need to make sure that this project have been forked to your own repository. It means that there will be parallel development between opensds repo and your own repo, so be careful to avoid the inconsistency between these two repos.
Step 2: Clone the remote repository¶
If you want to download the code to the local machine, git
is the best way:
git clone https://your_repo_url/opensds.git
Step 3: Configure upstream repository¶
To reduce the conflicts between your remote repo and opensds repo, we SUGGEST you configure opensds as the upstream repo:
git remote add upstream https://github.com/sodafoundation/api.git
git fetch upstream
Step 4: Develop code locally¶
To avoid inconsistency between multiple branches, we SUGGEST checking out to a new branch:
git checkout -b new_branch_name upstream/development
git pull
Then you can change the code arbitrarily.
Step 5: Push the code to the remote repository¶
After updating the code, you should push the update in the formal way:
git add .
git status (Check the update status)
git commit -m "Your commit title"
git commit --amend (Add the concrete description of your commit)
git push origin new_branch_name
Step 6: Pull a request to opensds repository¶
In the last step, your need to pull a compare request between your new branch and opensds development branch. After finishing the pull request, the travis CI will be automatically set up for building test.
The tutorial is done, enjoy your contributing work!
Community-Contributing¶
How to contribute¶
opensds is Apache 2.0 licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on commit message formatting, contact points for developers and other resources to make getting your contribution into opensds easier.
Email and chat¶
- Email: opensds-dev
- Slack: #opensds
Before you start, NOTICE that master
branch is the relatively stable version
provided for customers and users. So all code modifications SHOULD be submitted to
development
branch.
Getting started¶
- Fork the repository on GitHub.
- Read the README.md and INSTALL.md for project information and build instructions.
For those who just get in touch with this project recently, here is a proposed contributing tutorial.
Contribution Workflow¶
Code style¶
The coding style suggested by the Golang community is used in opensds. See the doc for more details.
Please follow this style to make opensds easy to review, maintain and develop.
Report issues¶
A great way to contribute to the project is to send a detailed report when you encounter an issue. We always appreciate a well-written, thorough bug report, and will thank you for it!
When reporting issues, refer to this format:
- What version of env (opensds, os, golang etc) are you using?
- Is this a BUG REPORT or FEATURE REQUEST?
- What happened?
- What you expected to happen?
- How to reproduce it?(as minimally and precisely as possible)
Propose PRs¶
- Raise your idea as an issue
- If it is a new feature that needs lots of design details, a design proposal should also be submitted here.
- After reaching consensus in the issue discussions and design proposal reviews, complete the development on the forked repo and submit a PR. Here are the PRs that are already closed.
- If a PR is submitted by one of the core members, it has to be merged by a different core member.
- After PR is sufficiently discussed, it will get merged, abondoned or rejected depending on the outcome of the discussion.
Thank you for your contribution !