We finally released v1.0.0, our first stable release!
While we tried to stay compatible with older releases, there may be some changes that require manual intervention. Read below and take a look at the UPGRADE guide.
Breaking changes (PLEASE READ!)
- Renamed
LinstorNodeSet
toLinstorSatelliteSet
. This brings the operator in line with other LINSTOR resources.
ExistingLinstorNodeSet
resources will automatically be migrated toLinstorSatelliteSet
. - Renamed
LinstorControllerSet
toLinstorController
. The old name implied the existence of multiple (separate)
controllers. ExistingLinstorControllerSet
resources will automatically be migrated toLinstorController
. - Helm values renamed to align with new CRD names:
operator.controllerSet
tooperator.controller
operator.nodeSet
tooperator.satelliteSet
- Renamed
kernelModImage
tokernelModuleInjectionImage
- Renamed
drbdKernelModuleInjectionMode
toKernelModuleInjectionMode
Added
v1
of all CRDs- Central value for controller image pull policy of all pods. Use
--set global.imagePullPolicy=<value>
on
helm deployment. charts/piraeus/values.cn.yaml
a set of helm values for faster image download for CN users.- Allow specifying resource requirements for all pods. In helm you can set:
etcd.resources
for etcd containersstork.storkResources
for stork plugin resourcesstork.schedulerResources
for the kube-scheduler deployed for use with storkcsi-snapshotter.resources
for the cluster snapshotter controllercsi.resources
for all CSI related containers. for brevity, there is only one setting for ALL CSI containers. They
are all stateless go process which use the same amount of resources.operator.resources
for operator containersoperator.controller.resources
for LINSTOR controller containersoperator.satelliteSet.resources
for LINSTOR satellite containersoperator.satelliteSet.kernelModuleInjectionResources
for kernel module injector/builder containers
- Components deployed by the operator can now run with multiple replicas. Components
elect a leader, that will take on the actual work as long as it is active. Should one
pod go down, another replica will take over.
Currently these components support multiple replicas:etcd
=> setetcd.replicas
to the desired countstork
=> setstork.replicas
to the desired count for stork scheduler and controllersnapshot-controller
=> setcsi-snapshotter.replicas
to the desired count for cluster-wide CSI snapshot controllercsi-controller
=> setcsi.controllerReplicas
to the desired count for the linstor CSI controlleroperator
=> setoperator.replicas
to have multiple replicas of the operator running
- Reference docs for all helm settings. Link
stork.schedulerTag
can override the automatically chosen tag for thekube-scheduler
image.
Previously, the tag always matched the kubernetes release.
Changed
- Node scheduling no longer relies on
linstor.linbit.com/piraeus-node
labels. Instead, all CRDs support
setting pod affinity and tolerations.
In detail:linstorcsidrivers
gained 4 new resource keys, with no change in default behaviour:nodeAffinity
affinity passed to the csi nodesnodeTolerations
tolerations passed to the csi nodescontrollerAffinity
affinity passed to the csi controllercontrollerTolerations
tolerations passed to the csi controller
linstorcontrollerset
gained 2 new resource keys, with no change in default behaviour:affinity
affinity passed to the linstor controller podtolerations
tolerations passed to the linstor controller pod
linstornodeset
gained 2 new resource keys, with change in default behaviour:affinity
affinity passed to the linstor controller podtolerations
tolerations passed to the linstor controller pod
- Controller is now a Deployment instead of StatefulSet.
- Renamed
kernelModImage
tokernelModuleInjectionImage
- Renamed
drbdKernelModuleInjectionMode
toKernelModuleInjectionMode