---
# System prepended metadata

title: CStor Beta Readiness

---

# CStor Beta Readiness

## Limitations
- Migration from SPC to CSPC is supported from 1.11.x. The SPC should be upgraded to 1.11.x ce/ee, before migrating to CSPC.

## OpenEBS : Must Fixes
- Functionality: Improvements to Upgrade status for CSI volumes (@shubham) [Done]
- Usability: Ability to easily disable webhook validations via helm value. (@prateek) [Done]
- Install: cStor operator yamls for different operating systems.(@prateek) [Done] 
- Pod affinity cStor target. [Done] 
- Install: Helm charts for cstor-operators ( a new chart will be added ) (@kiran) (@ashutosh will help with this)
    - Create a new helm chart for cstor-operators YAML
- NDM UUID should be in Beta. (@akhil) [In-Review] (Enable by default by updating operator yaml/helm chart)
    - May introduce a fix for McKinsey, where they depend on auto cstor pool creation with new NDM device coming with same id. 
- Size unit representation in cspi resource (Mi,Ki,Gi) (known issue, exploring different ways)[Scoped Out for next release]
- Show default status values in cspi, get omitted due to omitempty json tag (readOnly, provisioned and healthy replicas count) ( PR needs merge, update cstro-operators with apis and re-tag, inform to e2e team) (@sai @prateek) [Done]
- Remove the allocated and type from CSPI custom columns (@sai)[Done]
- external provisioner lib version details wrt to local pv and openebs-provisioner (@prateek)[Done]
- 

## Director : Must Fixes
- Support for Migrate from SPC to CSPC (@shovan ?)
- Support for Upgrades of CSPC and CSI based volumes 
- Support for uninstall of OpenEBS and cStor CSPC/CSI operators (?)

## Documentation
- Tunnables docs CSPC (@ashutosh) [Done]
- CStor Pool Resource Organization docs.(@ashutosh) [Done]
- CStor volume resource organisation docs(@ashutosh).[Done]
- Add volume troubleshoot docs (@prateek) [In-Progress]
- CSI volume policy documentation. (@prateek) [Done]
- Recovery document of data in case of Node name change -- (document proper manual steps) (@sai) [Done]
- Recovery document when pool operation hung due to bad disks.--(NDM unique disk accessing required to fix this) (@ashutosh) [Done]
- Migrate pools when node and underlying disk are lost(AutoScale usecase) (@sai)-- [Done]
- Troubleshooting doc to install ISCSI in Rancher based cluster (@sai). [Done]
- Doc needs to be modified to indicate the beta release. 
- Update the older CSPC and CSI blogs.
- CStor 101 blogs.
- Website docs update 

# Upgrade:
- Minimum CSPC/CSI supported version (1.10.0)

# Migration:
- Minimum version to support migration (1.12.0)


# Social Media Engagement
- List of tweets to tweet
- Reddit posts 
- Video tutorials 

# PRs
- Add missing CSI Integration tests (Manual Verification  Done)[PR][In-progress] @prateek
- Replace Manual CRDs with generated OpenAPIV3 based CRDs [Done] @prateek
    - A new PR needs to be raised to bring the changes in cstor-operators. [Done](@prateek, @sathya)
- Block Device tag check from cstor-operators. (@ashutosh)[Done]

## E2e test
- Test migration with generic CSI operator (@sathya) (done added into openshift and konvoy pipeline)
- Cstor operators yaml with new CRDs (@sathya) (done added into openshift and konvoy pipeline)

## Design
- Migrate backup and restore to v1 version(#3072 in openebs/openebs repo) [In review]. [Not a beta blocker]

## E2e - Beta Blockers

- Provisioning
    - provisioning volume with 1 Replica [Automated] [IT-Covered]
    - Resource limits on Pool and Target Deployments [MV In progress] [IT-Will-Cover]
    - Toleration for Pool and Target Deployments [MV In progress] [IT-Will-Cover]
    - Target Node Selectors [MV In progress] [IT-Will-Cover]
    - Target Pod Affinity with application pod label [MV] [IT-Will-Cover]
    - Pool - raidz types [IT-Will-Cover]
         - (stripe, mirror,raidz,raidz2 pool provisioning are automated. stripe,mirror cases only there in pipeline)
    - Pool - multiple disks > 2 [pending] [UT-Will-Covered][IT-Will-Cover]

- Day 2 pool operations
    - Pod disruption budget for the cStor Pool Deployments [MV] [IT-Will-Cover]
    - Disk replacement for different CSPC configurations [Automated] [IT-Will-Cover]
    - Pool expansion for different CSPC configurations [Automated] [IT-Will-Cover]
    - cStor CSPC pool scaleup/scaledown [Automated] [IT-Will-Cover]
    - Add / Delete Pools [Automated] [IT-Will-Cover]
    - CSPC and CSPI Status verifications for cases like rebuilding, degraded mode [Pending] [Need to manualy tested ] 

- Day 2 volume operations
    - Verify the auto-remount feature [In progress] [IT-Will-Cover]
    - Expand Volume Capacity with ext4 file system [Automated] [IT-Covered]
    - Expand Volume Capacity with xfs file system [Automated] [IT-Will-Covered]
    - Expand Raw Block volume [Automated] [IT-Covered]
    - Scale-up/down replicas [Automated][IT-Will-Cover] 
    - Volume snapshot creation [Automated] [IT-Covered]
    - Volume clone creation [Automated] [IT-Covered]

- Backup/Restore on CSI volumes ()
    - Remote Backup/Restore [ Automated] [IT-Will-Cover]
    - Local Backup/Restore [ Automated] [IT-Will-Cover]
    - Scheduled Snapshots [ In progress] [IT-Will-Cover]

- Upgrade/Migration [MV] [Requires some thought on how IT can cover upgrade/migration test scenarios.]
    - Upgrade CSPC pool /csi volumes [Automated - for community releases] [pipeline scripts is in progress]
    - Migrate SPC to CSPC pool and non-csi to csi volume [ Automated - for community releases] [ pipeline scripts is in progress]
    - Upgrade pipelines for enterprise versions ( 1.10-ee to the latest enterprise version)
    - Upgrade pipelines for community to enterprise versions ( 1.x.x  > latest enterprise version)
    - Upgrade pipelines for SPC to CSPC migration ( min 1.11.0 ce/ee of SPC )
        - Upgrade community to 1.11.0-ee
        - Migrate SPC to CSPC
            - Limitation: handling bad disks
            - Limitation: Scale-down application
            - Needs a consent from the user to scale down (Kubera)
    - Repeat the above functionality tests on the upgraded pools and volumes. 
    - Repeat the above functionality tests on the migrated pools and volumes. 
    - Verify the following steps:
        - Take a full backup
        - Perform migration
        - In case there is an issue, restore from full backup
        - Verify old pools and applications are running

- Scale testing [IT-Will-Not-Cover]
    - Multiple Volumes [pending]

- Resiliency testing [IT-Will-Not-Cover]
    - Pool Capacity filling up and recovery [MV]
    - Scale down/poweroff all K8s nodes and scale-up [MV]
    - Application Node shutdown test case [Automated]
    - Kubelet service stop [MV]
    - container run time failure [MV]
    - Delete a node and migrate pool to a new node in the cluster [pending]

- Uninstall/Cleanup Tests 
    - Deletion of Volumes and Pools [Automated] [IT-Will-Cover]
    - Deletion of cstor operators [Automated] [IT-Will-Cover]
    - Deletion of cstor pools in presence of volumes [Automated] [IT-Will-Cover]
    - Reusablity of blockdevice  [Automated] [IT-Will-Cover] 
    - Deletion of volumes in presence of clones [MV] [IT-Will-Cover]


## Pushed Items

### OpenEBS : Future Backlog
- Functionality: Do fsync before snapshot in CSI (@payes)
- Functionality: Support for disabling over provisioning on CSPC based pools. (This feature is present on SPC) 
- Functionality: Disallow seeing of non-cstor disks from cstor deployments
- Usability: Remove a manual step of creating a CStorVolumePolicy CR for migrated StorageClass.(@shubam)
- Functionality: Rebuild estimate (time estimatation has to be done)
- Refactor API: Generate CRDs via kubebuilder ( @prateek )
- Refactor API: APIs and Group refactoring to v1 apis
- Refactor API: Upgrade and migration to v1 apis

## Director : Future Backlog
- Replace Disk in a pool
- Add new pools
- Expand capacity

## Release planning

### July 15th Release

- Kubera / Director : Support for upgrade between Enterprise Edition 
    - OpenEBS Dependencies:
        - Support upgrade 1.11.0 to 1.11.0-ee (in-progress)
        - Version was displayed as 1.11.0 even when upgraded to ee version (in-progress)
        - Both these items are in the new upgrade/migrate code and will be back-ported to 1.11 release and available for OpenEBS 1.11.0-ee targeted at July 15th. 

- Kubera / Director : Support for Storage Class creation ( cStor). 
- OpenEBS Community E2e on SPC to CSPC migration.
- Manual Migration of SPC to CSPC will be supported.


### Aug 15th Release

- Kubera / Director : Support for Migration of SPC to CSPC
- Kubera / Director : Install pre-req like iSCSI and hugepages


#### Local PV

- Kubera/Director : New screens/review for Local PV Storage Classes ( or Pools via Block Device Tags)
- Kubera/Director : Implement the action to label the Block Devices
- Kubera/Director : Implement creation of Local PV Storage Classes 
