Skip to content

Releases: gardener/etcd-druid

v0.8.1

30 Mar 15:13
Compare
Choose a tag to compare

[etcd-druid]

🐛 Bug Fixes

  • [OPERATOR] A bug has been fixed which prevented the ServiceAccount's automountServiceAccountToken field from being reconciled. (gardener/etcd-druid#317, @rfranzke)

v0.8.0

29 Mar 19:27
Compare
Choose a tag to compare

[etcd-druid]

⚠️ Breaking Changes

  • [OPERATOR] The default leader election resource lock of etcd-druid has been changed from configmapsleases to leases. (gardener/etcd-druid#281, @acumino)
    • Please make sure, that you had at least [email protected] running before upgrading so that it has successfully acquired leadership with the hybrid resource lock (configmapsleases) at least once.
  • [OPERATOR] Using the etcd client service for server communication (default port 2380) has been deprecated. The port will be removed from the service in the near future. If necessary, switch to the new peer service instead. (gardener/etcd-druid#273, @timuthy)
  • [OPERATOR] The claiming logic for services has been removed from Etcd-Druid. This means that existing service objects cannot be adopted anymore but a new and dedicated object is created. Please check any usages for already adopted services and switch to the dedicated <etcd-name>-client service. (gardener/etcd-druid#273, @timuthy)
  • [DEVELOPER] Make target install-requirements was dropped. Instead, required 3rd party binaries are automatically installed to a local bin dir (./hack/tools/bin). (gardener/etcd-druid#261, @timuthy)

✨ New Features

  • [OPERATOR] To Dynamically load Iaas credentials, added support to pass the credentials through secret mount. (gardener/etcd-druid#301, @ishan16696)
  • [OPERATOR] Set File Path through Env: <ProviderName>_APPLICATION_CREDENTIALS (gardener/etcd-druid#301, @ishan16696)
  • [OPERATOR] Leader-election specifications can be configured through Etcd resource spec via .spec.backup.leaderElection. (gardener/etcd-druid#285, @ishan16696)
  • [OPERATOR] A new service (<etcd-name>-peer) for etcd peer communication (default port 2380) is now created by Etcd-Druid. (gardener/etcd-druid#273, @timuthy)
  • [OPERATOR] Etcd-Druid now creates member Lease objects which enables the heartbeat functionality for etcd members. Along the way a new flag --etcd-member-unknown-threshold was introduced. It determines the duration after which a etcd member's state is considered unknown when the member Lease is not renewed. (gardener/etcd-druid#262, @timuthy)
  • [DEVELOPER] When --disable-etcd-serviceaccount-automount is set to true then the .automountServiceAccountToken will be set to false for the ServiceAccount created for etcd. (gardener/etcd-druid#277, @rfranzke)

🐛 Bug Fixes

  • [OPERATOR] The default CPU and memory limits for etcd and backup-restore containers have been removed to enable removal of limits via the Etcd resource. (gardener/etcd-druid#312, @stoyanr)
  • [OPERATOR] A bug has been fixed which caused the etcd-druid not removing its finalizers from referenced secrets in Etcd resources when those references changed. (gardener/etcd-druid#310, @rfranzke)
  • [OPERATOR] A bug has been fix which caused the Nil pointer exception in EtcdCopyBackupsTask. (gardener/etcd-druid#306, @ishan16696)
  • [OPERATOR] A bug has been fixed that led to multiple update conflicts when the etcd resource was reconciled. (gardener/etcd-druid#263, @timuthy)
  • [OPERATOR] A bug has been fixed which caused the etcd.status.clusterSize only being set for new etcd resources (gardener/etcd-druid#260, @timuthy)

🏃 Others

  • [OPERATOR] The ETCD backup restore is now configured to support Local provider in container environment. (gardener/etcd-druid#300, @kris94)
  • [OPERATOR] The Golang version which is used to build Etcd-Druid was updated to 1.17.6. (gardener/etcd-druid#294, @timuthy)
  • [OPERATOR] Please be aware that Etcd-Druid needs to re-create the etcd StatefulSet if the etcd cluster is scaled up from 1 -> x for the first time. (gardener/etcd-druid#293, @timuthy)
  • [OPERATOR] The amount of active reconciliations has been limited to improve performance, CPU, memory and network consumption. (gardener/etcd-druid#276, @timuthy)
  • [OPERATOR] Updated labels used in compaction job to differentiate them from etcd pods. This allows for pod scheduling policies to schedule compaction jobs on predetermined nodes (gardener/etcd-druid#270, @aaronfern)
  • [OPERATOR] feature operator (gardener/etcd-druid#250, @breuerfelix)
    • Deploying and maintaining the correct PodDisruptionBudget configuration according to Etcd resource status
  • [DEVELOPER] The handling for 3rd party binaries (e.g. controller-gen), usually required for Make targets, has been improved. Instead of installing those tools to a global directory, a dedicated local directory of in the code repository is used (hack/tools/bin). (gardener/etcd-druid#261, @timuthy)

📰 Noteworthy

  • [DEVELOPER] The CA data key is now configurable under .spec.etcd.tls.tlsCASecretRef.dataKey. It still defaults to ca.crt if not provided. (gardener/etcd-druid#309, @rfranzke)

[etcd-backup-restore]

✨ New Features

🏃 Others

v0.7.3

14 Dec 09:22
Compare
Choose a tag to compare

[etcd-backup-restore]

🐛 Bug Fixes

v0.7.2

09 Dec 08:36
Compare
Choose a tag to compare

[etcd-druid]

🏃 Others

  • [OPERATOR] Updated labels used in compaction job to differentiate them from etcd pods. This allows for pod scheduling policies to schedule compaction jobs on predetermined nodes (gardener/etcd-druid#270, @aaronfern)

v0.7.1

30 Nov 09:54
Compare
Choose a tag to compare

[etcd-druid]

🐛 Bug Fixes

v0.7.0

17 Nov 09:40
Compare
Choose a tag to compare

[etcd-druid]

⚠️ Breaking Changes

  • [OPERATOR] CronJob is no more used to schedule compaction job at regular interval. Instead, we are using Job. (gardener/etcd-druid#235, @abdasgupta)
    • Therefore, BackupCompactionSchedule field is removed from ETCD backup spec, as it was only necessary for scheduling CronJob.
  • [DEVELOPER] The sub-module github.com/gardener/etcd-druid/api has been removed. Please use github.com/gardener/etcd-druid instead if your module(s) depend on etcd-druid. (gardener/etcd-druid#244, @timuthy)

✨ New Features

  • [USER] druid will now also reconcile a serviceaccount, a role, and a rolebinding as part of it's etcd reconcile flow and associate it with the etcd pod (gardener/etcd-druid#233, @aaronfern)
  • [OPERATOR] A new flag --enable-backup-compation has been introduced which globally enables automatic compaction of backups. (gardener/etcd-druid#258, @timuthy)
  • [OPERATOR] A new controller named lease controller has been introduced. Lease controller will be responsible for creating compaction job based on the delta event lease. (gardener/etcd-druid#235, @abdasgupta)
    • For this, two new Leases are introduced: One to hold the value of the latest full snapshot revision and one for the last delta revision.

📖 Documentation

  • [OPERATOR] The multi-node etcd proposal has been updated and now considers ephemeral volumes not being an integral part of the multi-node feature set. (gardener/etcd-druid#256, @timuthy)

🏃 Others

[etcd-backup-restore]

🏃 Others

  • [OPERATOR] The backup-restore sidecar will now check if the owner domain name resolves to the specified owner ID and if not, take a final full snapshot and disable the cluster. (gardener/etcd-backup-restore#383, @stoyanr)

📰 Noteworthy

  • [OPERATOR] Added health package to allow backup-restore to renew member leases to indicate member health and snapshot leases to indicate snapshots being taken successfully (gardener/etcd-backup-restore#382, @aaronfern)
    • Added flags to the server and compact subcommand. --enable-snapshot-lease-renewal to enable snapshot lease renewal, --enable-member-lease-renewal to enable member lease updates, full-snapshot-lease-name to specify the full snapshot lease name, and delta-snapshot-lease-name to specify the delta snapshot lease name
    • Pod name and namespace has to be passed via environment variables (POD_NAME and POD_NAMESPACE) when running the server subcommand when --enable-member-lease-renewal flag is set to true
    • Pod namespace needs to be passed via an environment variable (POD_NAMESPACE) when running the server subcommand when --enable-snapshot-lease-renewal flag is set to true
    • Pod namespace needs to be passed via an environment variable (POD_NAMESPACE) when running the compact subcommand when --enable-snapshot-lease-renewal flag is set to true

v0.6.0

25 Aug 07:25
Compare
Choose a tag to compare

[etcd-druid]

⚠️ Breaking Changes

  • [DEVELOPER] Switch to github.com/gardener/etcd-druid-api if you vendor only the API of etcd-druid. (#169, @amshuman-kr)

✨ New Features

  • [OPERATOR] Added support for etcd druid to regularly schedule backup compactions via configurable etcd spec spec.backup.compactionSchedule (#197, @aaronfern)
  • [OPERATOR] Various condition and etcd member checks have been added to Etcd-Druid. The results of those checks will be reflected in the etcd.status sub-resource. (#188, @timuthy)
    • Conditions:
    • Ready check: Checks if resource has enough Ready members in status.members to fulfill the quorum.
    • AllMembersReady check: Checks if all members in status.members are Ready.
    • Members:
    • Ready check: Treats the LastUpdateTime as a heartbeat and checks if it is within the expected time range (configurable via --etcd-member-threshold).
  • [OPERATOR] A re-sync mechanism has been added for the Custodian controller. The new flag --custodian-sync-period (default 30s) controls the duration after which the Custodian controller re-enqueues etcd resources for reconciliation. This can be considered as a health check interval. (#188, @timuthy)
  • [OPERATOR] It is now possible to configure the count of custodian controller workers by --custodian-workers. (#180, @timuthy)

🐛 Bug Fixes

  • [OPERATOR] The operation annotation is now removed before reconciling the Etcd resource. (#205, @shreyas-s-rao)
  • [OPERATOR] If operation annotation is to be honoured, the reconciliation predicates now match only if either operation annotation is present, or last operation didn't succeed or if the resource is undergoing deletion. No other change (if not accompanied by any of these conditions) will trigger reconciliation. (#202, @amshuman-kr)

🏃 Others

  • [OPERATOR] Remove finalizers from Etcd resources after waiting for statefulset. (#222, @amshuman-kr)
  • [OPERATOR] Added a new CLI flag --enable-compaction-tempfs to etcd druid to enable tempfs in the compaction job volumeMount (defaults to false) (#220, @aaronfern)
  • [OPERATOR] Two new fields added to etcd spec, etcdSnapshotTimeout and etcdDefragTimeout which configure the snapshotter timeout and defragmentation timeout respectively of etcd-backup-restore (#216, @aaronfern)
  • [OPERATOR] Druid now fetches Lease resources in order to derive the readiness state of an etcd cluster member. This serves as a preparation for the etcd multi-node feature. (#214, @timuthy)
  • [OPERATOR] Updated number of chunks while uploading to never exceed the cloud provider limits. (#182, @amshuman-kr)
  • [OPERATOR] The reconciliation loop count of the custodian controller has been improved. Now, reconciliation only happens at relevant create/update/delete events. (#180, @timuthy)
  • [OPERATOR] Removed synchronisation before updating ETCD status. (#174, @abdasgupta)
  • [OPERATOR] NONE. (#173, @timuthy)
  • [DEVELOPER] A new Make target check-generate has been added to check if generated code and the vendor dir are up-to-date. (#177, @timuthy)

📰 Noteworthy

  • [OPERATOR] A new module github.com/gardener/etcd-druid/api can be used to get the API definitions. (#169, @amshuman-kr)

[etcd-backup-restore]

🏃 Others

📰 Noteworthy

  • [OPERATOR] Added compaction command support to ETCD Backup Restore. Users can now use compaction sub command with etcdbrctl tool to compact basesnapshot and all it's subsequent deltasnapshot to one single compacted snapshot. (gardener/etcd-backup-restore#301, @abdasgupta)
  • [OPERATOR] Snapshots are not stored under separate prefix (Backup-XXX) in backup storage. Instead, all of the snapshots are stored under v2 backup version prefix in a flat structure. (gardener/etcd-backup-restore#301, @abdasgupta)
  • [OPERATOR] Support for v1 backup version is still there but only for restoration and snapshot garbage collection. So backup storages that had v1 backup version and where snapshots were stored under separate prefix (Backup-XXX), can still be used with compaction sub command (as well as for restoration). However, the new snapshots will be stored under v2 backup version prefix. (gardener/etcd-backup-restore#301, @abdasgupta)
  • [OPERATOR] The support for the v1 backup structure with separate prefix (Backup-XXX) will be dropped in a subsequent release. (gardener/etcd-backup-restore#301, @abdasgupta)

[etcd-custom-image]

📰 Noteworthy

v0.5.2

26 May 19:03
Compare
Choose a tag to compare

[etcd-druid]

🏃 Others

  • [OPERATOR] Updated number of chunks while uploading to never exceed the cloud provider limits. (#183, @amshuman-kr)

v0.5.1

20 May 16:34
Compare
Choose a tag to compare

[etcd-druid]

🏃 Others

  • [OPERATOR] Removed synchronisation before updating ETCD status. (#176, @amshuman-kr)

v0.5.0

26 Apr 15:37
Compare
Choose a tag to compare

[etcd-druid]

✨ New Features

  • [USER] Configure auto-compaction policy for etcd and backup sidecar's embedded etcd via Etcd resource via .spec.sharedConfig.autoCompactionMode and .spec.sharedConfig.autoCompactionRetention. (#157, @ishan16696)
  • [OPERATOR] Etcd bootstrap script now resides in the custom etcd image instead of being mounted as a configmap. (#162, @shreyas-s-rao)

🏃 Others

  • [OPERATOR] If an etcd StatefulSet remains pending, warning events of unbound PVCs are now added to the .status.lastError of the etcd resource. This makes it easier for operators to spot potential issues. (#146, @timuthy)
  • [OPERATOR] Snapshot compression specification can be configured through helm-charts as well as etcd resource spec configuration file. (#138, @ishan16696)

📰 Noteworthy

  • [USER] Moved parts of reconciliation for ETCD status that deals with Statefulset to a separate controller. (#133, @abdasgupta)

[etcd-backup-restore]

🏃 Others

📰 Noteworthy

  • [USER] Move bootstrap script out of the helm chart, as it will now be part of the etcd-custom-image. (gardener/etcd-backup-restore#327, @shreyas-s-rao)
  • [USER] Add support for snapshot compression/decompression. Compression and compression policy can be configured through flags: --compress-snapshots and --compression-policy respectively. Supported compression policies currently are gzip (default), lzw and zlib. Snapshot compression is disabled by default. (gardener/etcd-backup-restore#293, @ishan16696)