Releases: piraeusdatastore/piraeus-ha-controller
Release 1.0.0-rc.3
This is the third release candidate for the upcoming 1.0.0 release. Please help by testing it!
Here is what changed since the second release candidate:
- Force deletion of Pods if running Node appears not ready (i.e. it cannot confirm deletion of the Pod). This fixes a bug with StatefulSets, where the Pod was only removed after minutes of being stuck in terminating state.
Other than that, nothing has changes since rc.2, so here's the prinicpal changes:
With this release, we changed the way the controller works completely. Previous versions would only communicate with the LINSTOR Controller to watch for resource events. This new version uses the DRBD state on every node directly. This also means that the workload changed from a simple deployment to a daemonset.
To give it a try, use the newly created chart in this repository. On full release, it will move to our main chart directory.
helm install --create-namespace --namespace piraeus-ha-controller piraeus-ha-controller charts/piraeus-ha-controller
The new HA Controller is also better equipped to deal with "suspended" resources. Suspended resources fix a frequently encountered problem where DRBD would report errors to consuming pods during network issues. This would often lead to the filesystem silently remounting as readonly. Using these new recommended storage class settings, DRBD instead freezes the Pod until it is terminated or networking restored:
parameters:
property.linstor.csi.linbit.com/DrbdOptions/auto-quorum: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-no-data-accessible: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary
property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect
For more information, check out the updated README.
Release 1.0.0-rc.2
This is the second release candidate for the upcoming 1.0.0 release. Please help by testing it!
Here is what changed since the first release candidate:
- Query Kubernetes API about available eviction methods instead of falling back to worse methods on errors.
Other than that, nothing has changes since rc.1, so here's the release note of that again:
With this release, we changed the way the controller works completely. Previous versions would only communicate with the LINSTOR Controller to watch for resource events. This new version uses the DRBD state on every node directly. This also means that the workload changed from a simple deployment to a daemonset.
To give it a try, use the newly created chart in this repository. On full release, it will move to our main chart directory.
helm install --create-namespace --namespace piraeus-ha-controller piraeus-ha-controller charts/piraeus-ha-controller
The new HA Controller is also better equipped to deal with "suspended" resources. Suspended resources fix a frequently encountered problem where DRBD would report errors to consuming pods during network issues. This would often lead to the filesystem silently remounting as readonly. Using these new recommended storage class settings, DRBD instead freezes the Pod until it is terminated or networking restored:
parameters:
property.linstor.csi.linbit.com/DrbdOptions/auto-quorum: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-no-data-accessible: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary
property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect
For more information, check out the updated README.
Release 1.0.0-rc.1
This is the first release candidate of the new Piraeus HA Controller 1.0.0.
With this release, we changed the way the controller works completely. Previous versions would only communicate with the LINSTOR Controller to watch for resource events. This new version uses the DRBD state on every node directly. This also means that the workload changed from a simple deployment to a daemonset.
To give it a try, use the newly created chart in this repository. On full release, it will move to our main chart directory.
helm install --create-namespace --namespace piraeus-ha-controller piraeus-ha-controller charts/piraeus-ha-controller
The new HA Controller is also better equipped to deal with "suspended" resources. Suspended resources fix a frequently encountered problem where DRBD would report errors to consuming pods during network issues. This would often lead to the filesystem silently remounting as readonly. Using these new recommended storage class settings, DRBD instead freezes the Pod until it is terminated or networking restored:
parameters:
property.linstor.csi.linbit.com/DrbdOptions/auto-quorum: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-no-data-accessible: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary
property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect
For more information, check out the updated README.
Release 0.3.0
Added
- Include
linstor-wait-until
in docker image. It is used to wait
for the LINSTOR API to get ready on pod initialization.
Release 0.2.0
Added
- Build for arm64. #9
Changed
- Update golang dependencies to kubernetes 1.22.
- Use
gcr.io/distroless/static
base image and run as non-root user.
Release 0.1.3
Fixed
- Instruct Kubernetes to send bookmark events for watches. This ensures restarted watches start from a recent
enough resource version. #6 - Fixes the resource filter applied to PVC and VA watches. A bug introduced in 0.1.2 caused the HA Controller to filter
all resources (Pods, PVCs, VolumeAttachments) based on filters for Pods.
Release 0.1.2
Release 0.1.1
Fixes an issue with watch PVCs instead of VolumeAttachments
Release 0.1.0 - Initial Release
The very first release of piraeus-ha-controller
!
The basic functionality, deleting pods with failed Piraeus storage volumes, is there.
Future releases will improve upon this basic functionality!