The following document guides you through the upgrade process for LINSTOR® Operator from version 1 ("v1") to version 2 ("v2").
LINSTOR Operator v2 offers improved convenience and customization. This however made it necessary to make significant changes to the way LINSTOR Operator manages LINBIT SDS. As such, upgrading from v1 to v2 is a procedure requiring manual oversight.
Upgrading LINSTOR Operator is done in four steps:
- (Optional) Migrate the LINSTOR database to use the Kubernetes backend.
 - Collect information about the current deployment.
 - Remove the LINSTOR Operator v1 deployment, keeping existing volumes untouched.
 - Deploy LINSTOR Operator v2 using the information gathered in step 2.
 
Prerequisites
This guide assumes:
- You used Helm to create the original deployment and are familiar with upgrading Helm deployments.
 - Your LINBIT SDS deployment is up-to-date with the latest v1 release. Check the releases here.
 - You have the following command line tools available:
 - You are familiar with the 
linstorcommand line utility, specifically to verify the cluster state. 
Key Changes Between Operator V1 and V2
Administrative Changes
- 
                The resources 
LinstorController,LinstorSatelliteSetandLinstorCSIDriverhave been replaced byLinstorClusterandLinstorSatelliteConfgiuration - The default deployment runs the LINSTOR Satellite in the container network The migration script will propose changing to the host network.
 
Operational Changes
- 
                In Operator v1, all labels on the Kubernetes node resource are replicated on the satellite, making
                them usable in the 
replicasOnSameandreplicasOnDifferentparameters on the storage class. In Operator v2, only the following labels are automatically synchronized:kubernetes.io/hostnametopology.kubernetes.io/regiontopology.kubernetes.io/zone
LinstorSatelliteConfiguration.spec.propertiesto synchronize additional labels. - 
                The following settings are applied by Operator v2 cluster-wide:
                
DrbdOptions/Net/rr-conflict: retry-connectDrbdOptions/Resource/on-suspended-primary-outdated: force-secondaryDrbdOptions/Resource/on-no-data-accessible: suspend-ioDrbdOptions/auto-quorum: suspend-io
 - Operator v2 also includes a High-Availability Controller