Skip to content

Releases: piraeusdatastore/piraeus-ha-controller

Release 1.0.0-rc.3

14 Jul 09:50
v1.0.0-rc.3
Compare
Choose a tag to compare
Release 1.0.0-rc.3 Pre-release
Pre-release

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

28 Jun 08:27
v1.0.0-rc.2
Compare
Choose a tag to compare
Release 1.0.0-rc.2 Pre-release
Pre-release

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

07 Jun 11:48
v1.0.0-rc.1
Compare
Choose a tag to compare
Release 1.0.0-rc.1 Pre-release
Pre-release

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

03 Feb 08:12
v0.3.0
Compare
Choose a tag to compare

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

31 Aug 11:43
v0.2.0
Compare
Choose a tag to compare

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

14 Jan 11:07
v0.1.3
Compare
Choose a tag to compare

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

14 Jan 10:41
v0.1.2
Compare
Choose a tag to compare

Added

  • --leader-election-resource-name option added. Used to set the name of the lease resource #1

Fixed

  • Kubernetes Watches are now re-tried instead of crashing the whole application in case of timeouts #5

Release 0.1.1

16 Dec 15:08
v0.1.1
Compare
Choose a tag to compare

Fixes an issue with watch PVCs instead of VolumeAttachments

Release 0.1.0 - Initial Release

15 Dec 15:41
v0.1.0
Compare
Choose a tag to compare

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!