SODA v0.20.0 Elba Release
SODA Elba Release
Version Summary
Version Number : v0.20.0 [tag: v0.20.0]
Version Name : Elba
Date : 13-April-2020
Projects / Repos Included : api, controller, dock, nbp, multi-cloud, installer, dashboard, documentation, orchestration, anomaly-detection
Release Summary :
This is the first release after the OpenSDS project transformed as The SODA Foundation. However currently we continue the release naming alphabetically based on island names:). So this is a ‘E’ release and named as “Elba” (island in Italy and symbolically representing our solidarity to the global fight against covid-19 virus)
This is a SODA Release comprising the corresponding projects or repositories of SODA Landscape.
All the SODA Releases will be made from github.com/sodafoundation/releases from now onwards. As per the current plan, we will be starting our quarterly releases starting from Elba release.
This release is mainly based on the Daito release from OpenSDS projects. There are some project/repository reorganizations, updates on certain projects along with some quality improvements. There are no big feature enhancements in this release.
This release version number 0.20.x has been selected to indicate the beginning of SODA releases (also disconnect from OpenSDS release sequence) . Each project will follow its own release version numbering, tags, names etc. SODA Release will mention the list and links of all the projects considered within the specific release.
We plan to have the major release of SODA in 2020. (v1.0.0)
Changelog
This changelog is based on OpenSDS release Daito.
-
Overall
-
All the projects under this release are SODA Core projects maintained
under github.com/sodafoundation. They are all migrated from
github.com/opensds -
SODA Releases will be maintained by SODA Foundation Community
directly and the releases are from github.com/sodafoundation/releases -
SODA Releases will provide the key use cases, integrations and overall solution based on SODA Landscape projects. It will give all
the respective project releases under the scope of each of the SODA
releases.
-
-
OpenSDS Project Reorganization
-
Earlier github.com/opensds/opensds project which was known as hotpot, was managing the on-prem data management connecting platforms on the north side and storage backends on the south side. This project has been decoupled into Three Different projects/repositories - api, controller and dock. Please see the readme of each project for more details.
(github.com/opensds/opensds has been migrated to github.com/sodafoundation/opensds and this project has been decoupled to github.com/sodafoundation/api , github.com/sodafoundation/controller and github.com/sodafoundation/dock)
-
api : Decoupled to handle the SODA API interface. This will contain the API server and api services going forward. Currently, all the APIs which were working earlier in Daito releases are decoupled and tested.
-
controller: Decoupled to handle all the control services (like metadata management, scheduler, other bookkeeping, utils etc)
-
dock: Decoupled to handle all the heterogeneous storage driver interfaces and related modules.
-
Currently the decoupled projects are verified for all the basic APIs (from api→ controller → dock) from Kubernetes, Dashboard and CLI
-
Telemetry feature is unchanged
-
-
MultiCloud
-
YIG Integration has been further optimized
-
S3 compatibility for APIs
-
SSE support improved
-
Multiple Bug Fixes.
-
-
nbp:
-
multiple fixes in CSI as well as VMWare plugin for feature stability and performance improvement.
-
Unit tests for Vmware NBP
-
-
Installer
-
Updated to handle the project migration & project decoupling
-
Optimization and bug fixes
-
-
Quality Improvements
-
Specific test cycles on various projects to improve the quality
-
api/controller/dock - Input validation of APIs; Improved Swagger API spec; Improved CLI help and more flags added for better usability; Multiple Initiator support from connector side ; Support secure connection between etcd and api/controller; Handle batch volume operations; Avoid redundant pool and dock while provisioning; No fstab modification required while mount/un-mount the FS
-
-
CSI Plug & Play
- To support the CSI Standard drivers, the initial design has been prepared. Please refer here. We will be implementing the same in the coming releases. If you want to join this work, please join the soda slack and ask in the ‘general’ channel.
-
Documentations
- Documentations are updated for the migration from OpenSDS to SODA Foundation and projects updates.
Known Issue:
Multicloud s3 compatible API integration with dashboard has a signature mismatch issue. Hence, the dashboard in this release cannot support the latest multicloud with s3 compatible APIs. Hence, the latest multicloud cannot be experienced from the Dashboard for multicloud object operations.
1. Options to use the latest multicloud from elba:
-
There is no limitation on the usage of mulicloud using any other client through which s3 compatible apis can be accessed
-
We have provided a postman based demo setup information for a reference and experience the latest multicloud with s3 compatible APIs here
2. If you want to use elba release with previous version of multicloud without s3 compatible api support (to experience the features through dashboard)
-
Edit configuration file for multicloud (gelato.yml) from the
installer repo
https://github.com/sodafoundation/installer/blob/master/ansible/group_vars/gelato.yml -
Update gelato_image_tag: “v0.10.0”
-
Follow the build steps from docs.sodafoundation.io
Use cases/Demo/Integrations in this release
-
Streaming Usecase Demo
- Added streaming use case demo using the multicloud project
- To check out this demo and how to use etc, all the details here.
-
Features in Dashboard
- The Dashboard provides all the basic features supported by api, controller, dock end 2 end, features of multicloud(Daito), features of telemetry, features of orchestration etc.
Projects/Repos part of this release:
Key projects part of this SODA Release
SODA Core Projects:
SODA Native Projects:
Projects are under review. Will be added from next release. If you want to submit your project to SODA Foundation to leverage better branding, networking, users, testing and enhance the community OR you want to know more about it, please mail to [email protected]
Other Projects/Repos:
Project | Release Link |
---|---|
installer | installer release v0.12.0 |
dashboard | dashboard release v0.10.0 |
documentation | documentation release v0.12.0 |
How to use the Release:
- This release has been verified on Ubuntu 16.04LTS (Recommended)
Quick Test using Release Binaries
-
Pre-requisite packages (If these packages are already available, you could skip the repective ones. Running may not harm anyways)
- ATTN: Need to be root to complete the installation; The the versions of the dependent pacakges need to be ensured for smooth installation.
- Install depend packages :
- apt-get update && apt-get install -y git make curl wget libltdl7 libseccomp2 libffi-dev gawk
- Install Docker
- wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
- dpkg -i docker-ce_18.06.1
ce3-0~ubuntu_amd64.deb
- Install docker-compose:
- curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
- Install go lang
- wget https://storage.googleapis.com/golang/go1.12.1.linux-amd64.tar.gz
- tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gz
- echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
- echo 'export GOPATH=$HOME/gopath' >> /etc/profile
- source /etc/profile
-
Get and Install Release Binaries:
-
wget
https://github.com/sodafoundation/installer/releases/download/v0.12.0/installer-v0.12.0.tar.gz
OR Download the installer binaries from
https://github.com/sodafoundation/installer/releases/tag/v0.12.0 -
tar xvzf installer-v0.12.0.tar.gz
-
cd installer-v0.12.0/ansible/
-
chmod +x ./install_ansible.sh && ./install_ansible.sh
-
ansible --version # Ansible version 2.4.x is required.
-
vim group_vars/common.yml # Modify HOST_IP address if needed
-
ansible-playbook site.yml -i local.hosts
-
-
(If you want to clean up and test again: Run ansible-playbook clean.yml -i local.hosts -vvv and then run ansible-playbook site.yml -i local.hosts)
-
How to do a quick test:
- Open Your Browser
- http://localhost:8088/ Or the IP Address of the host if you have updated the config file
- Use admin/opensds@123 credentials to login
- You will login to the UI Dashboard and you can verify the features through various menu options
- Open Your Browser
Configuration & Installation: If you want more config control, test from CLI etc, you can refer the detailed installation document from:
- https://docs.sodafoundation.io/soda-gettingstarted/installation-using-ansible/
- use the correct version in these steps.
Issues and Suggestions
Any SODA Release related issues/suggestions, please raise at https://github.com/sodafoundation/releases/issues
For all other issues/suggestions, please raise to the respective project/repo: project-link-as-given-in-the-project-listing-above/issues