Releases: gardener/gardener-extension-provider-equinix-metal
Releases · gardener/gardener-extension-provider-equinix-metal
v2.14.0
[gardener/gardener-extension-provider-equinix-metal]
🐛 Bug Fixes
[OPERATOR]
* fix kubelet args by @RiRa12621 [#330]
Helm Charts
- provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/extensions/provider-equinix-metal:v2.14.0
Docker Images
- gardener-extension-provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/provider-equinix-metal:v2.14.0
v2.13.0
[gardener/gardener-extension-provider-equinix-metal]
🐛 Bug Fixes
[OPERATOR]
* RemovefirstBoot
option- change from
dataVolumes
toVolumes
- restructure parts of ensurer.go for better function reusability by @RiRa12621 [#329]
- change from
📖 Documentation
Helm Charts
- provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/extensions/provider-equinix-metal:v2.13.0
Docker Images
- gardener-extension-provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/provider-equinix-metal:v2.13.0
v2.12.0
[gardener/gardener-extension-provider-equinix-metal]
✨ New Features
[OPERATOR]
The provider-equinix-metal extension now allows to use all volumes of an equinix instance under the following conditions:- use flatcar linux
- use only one OS
- use containerd as container engine by @RiRa12621 [#325]
🐛 Bug Fixes
[OPERATOR]
Fixes a monitoring configuration issue that caused false CCM-down alerts to fire. by @rickardsjp [#315]
Helm Charts
- provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/extensions/provider-equinix-metal:v2.12.0
Docker Images
- gardener-extension-provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/provider-equinix-metal:v2.12.0
v2.11.0
[gardener/machine-controller-manager-provider-equinix-metal]
⚠️ Breaking Changes
[OPERATOR]
Change OCI Image Registry from GCR (eu.gcr.io/gardener-project
) to Artifact-Registry (europe-docker.pkg.dev/gardener-project/releases
). Users should update their references. by @zkdev [gardener/machine-controller-manager-provider-equinix-metal#24]
✨ New Features
[OPERATOR]
Equinix Metal is deprecating facility deployment. Metros encompass multiple facilities and are a better fit for availability concerns.
The machine controller manager is now only doing metro deployments.
Current facility deployed machines are handled as before and will be replaced with the next os or K8s update. by @schrodit [gardener/machine-controller-manager-provider-equinix-metal#23]
[gardener/gardener-extension-provider-equinix-metal]
⚠️ Breaking Changes
[OPERATOR]
provider-equinix-metal
no longer supports Shoots with Кubernetes version == 1.24. by @shafeeqes [#299]
✨ New Features
[USER]
The following dependencies are updated:gardener/gardener
: v1.80.3 -> v1.81.7 by @shafeeqes [#297]
[USER]
The provider-equinix-metal extension does now support shoot clusters with Kubernetes version 1.30. You should consider the Kubernetes release notes before upgrading to 1.30. by @shafeeqes [#309][USER]
The provider-equinix-metal extension does now support shoot clusters with Kubernetes version 1.29. You should consider the Kubernetes release notes before upgrading to 1.29. by @acumino [#300][OPERATOR]
This extension now makes use of the new.spec.pools[].userDataSecretRef
field to get to the worker pool user data. by @rfranzke [#314][OPERATOR]
Helm charts of extension and admission controller are published as OCI artifacts now. by @oliver-goetz [#317]
🏃 Others
[OPERATOR]
This extension is now using the new way of providing monitoring configuration (ref GEP-19) in case a shoot cluster's Prometheus has been migrated to management viaprometheus-operator
. by @rfranzke [#307]
Helm Charts
- provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/extensions/provider-equinix-metal:v2.11.0
Docker Images
- gardener-extension-provider-equinix-metal:
europe-docker.pkg.dev/gardener-project/releases/gardener/extensions/provider-equinix-metal:v2.11.0
v2.10.0
[gardener/machine-controller-manager]
🐛 Bug Fixes
[OPERATOR]
An issue causing nil pointer panic on scaleup of the machinedeployment along with trigger of rolling update, is fixed by @acumino [gardener/machine-controller-manager#814][OPERATOR]
Force drain and delete volume attachments for nodes un-healthy due toReadOnlyFileSystem
andNotReady
for too long by @elankath [gardener/machine-controller-manager#839][OPERATOR]
IncludedUnavailableReplicas
in determining if a machine deployment status update is needed by @rishabh-11 [gardener/machine-controller-manager#833][USER]
An edge case where outdated DesiredReplicas annotation blocked a rolling update is fixed. by @rishabh-11 [gardener/machine-controller-manager#821]
🏃 Others
[OPERATOR]
Makefile targets have changed: Introduced gardener-setup, gardener-restore, gardener-local-mcm-up, non-gardener-setup, non-gardener-restore, non-gardener-local-mcm-up. Users can also directly use the scripts which are used by these makefile targets. by @unmarshall [gardener/machine-controller-manager#852][OPERATOR]
Added a new metric that will allow to get the number of stale (due to unhealthiness) machines that are getting terminated by @jguipi [gardener/machine-controller-manager#808][OPERATOR]
AddederrorCode
field in theLastOperation
struct. This should be implemented only for theCreateMachine
call in thetriggerCreationFlow
. This field will be utilized by Cluster autoscaler to do early backoff by @rishabh-11 [gardener/machine-controller-manager#851][OPERATOR]
New metrics introduced:- api_request_duration_seconds -> tracks time taken for successful invocation of provider APIs. This metric can be filtered by provider and service.
- driver_request_duration_seconds -> tracks total time taken to successfully complete driver method invocation. This metric can be filtered by provider and operation.
- driver_requests_failed_total -> records total number of failed driver API requests. This metric can be filtered by provider, operations and error_code. by @unmarshall [gardener/machine-controller-manager#842]
[OPERATOR]
Updated to go v1.20.5 by @rishabh-11 [gardener/machine-controller-manager#827][DEVELOPER]
A new make target is introduced to add license headers. by @unmarshall [gardener/machine-controller-manager#845][DEVELOPER]
Removed dead metrics code and refactored the remaining metrics code by @himanshu-kun [gardener/machine-controller-manager#823][DEVELOPER]
Bumpk8s.io/*
deps to v0.27.2 by @afritzler [gardener/machine-controller-manager#820][DEVELOPER]
status.Status now captures underline cause, allowing consumers to introspect the error returned by the provider. WrapError() function could be used to wrap the provider error by @unmarshall [gardener/machine-controller-manager#842]
[gardener/gardener-extension-provider-equinix-metal]
⚠️ Breaking Changes
[OPERATOR]
provider-equinix-metal
no longer supports Shoots or Seeds with Кubernetes version < 1.24. by @shafeeqes [#291]
📰 Noteworthy
[DEVELOPER]
The metal lb chart has been split into several files to be better maintainable. by @schrodit [#296]
✨ New Features
[OPERATOR]
MetalLb has been moved tokube-system
to support new Gardener resource manager that only watches this namespace. by @schrodit [#296][USER]
The provider-equinix-metal extension does now support shoot clusters with Kubernetes version 1.28. You should consider the Kubernetes release notes before upgrading to 1.28. by @oliver-goetz [#292]
🐛 Bug Fixes
[DEVELOPER]
Fix several instances where a embeded fs was expected but not provided by @schrodit [#296]
🏃 Others
[OPERATOR]
The following dependency is updated:- github.com/gardener/gardener: v1.74.0-> v1.80.3
- k8s.io/* : v0.26.3 -> v0.28.2
- sigs.k8s.io/controller-runtime: v0.14.6-> v0.16.2 by @shafeeqes [#294]
Docker Images
- gardener-extension-provider-equinix-metal:
eu.gcr.io/gardener-project/gardener/extensions/provider-equinix-metal:v2.10.0
v2.9.0
v2.8.0
[gardener/gardener-extension-provider-equinix-metal]
🐛 Bug Fixes
[OPERATOR]
Fixes are bug in the worker reconciler where the node network was not injected. This caused the vpn-server-pod to not work anymore. by @schrodit [#283][OPERATOR]
MetalLb has been updated to version 0.12.1 which fixes a compatibility issue with the Equinix CCM. by @schrodit [#282]
[gardener/terraformer]
🏃 Others
[OPERATOR]
Alpine has been updated to v1.18.2 by @kon-angelo [gardener/terraformer#138][OPERATOR]
Golang has been updated to v1.20.5 by @kon-angelo [gardener/terraformer#138]
v2.7.0
[gardener/terraformer]
📰 Noteworthy
[OPERATOR]
The following terraform provider plugin is updated:aliyun/terraform-provider-alicloud
:1.124.2
->1.149.0
by @molecule-z [gardener/terraformer#116]
🏃 Others
[OPERATOR]
Terraform google provider is updated to v4.19.0 by @bd3lage [gardener/terraformer#119][OPERATOR]
terraform has been upgraded to 0.13.7 by @stoyanr [gardener/terraformer#105][OPERATOR]
The golang base image is now updated to 1.16.15. The alpine base image is updated to 3.16.2. by @kon-angelo [gardener/terraformer#124][OPERATOR]
Terrafomer base image has been updated to alpine:3.17.2 by @dkistner [gardener/terraformer#131][OPERATOR]
Update golang to v1.19.6 by @kon-angelo [gardener/terraformer#129][OPERATOR]
The following terraform provider plugins are updated:- hashicorp/terraform-provider-aws: 3.54.0 -> 3.63.0 by @ialidzhikov [gardener/terraformer#104]
[OPERATOR]
The following terraform provider plugins are updated:- hashicorp/terraform-provider-aws: 3.63.0 -> 3.66.0 by @ialidzhikov [gardener/terraformer#108]
[OPERATOR]
Update alpine base image tov3.17.3
by @kon-angelo [gardener/terraformer#136][OPERATOR]
Terrafomer base image has been updated fromalpine:3.17.2
toalpine:3.18.0
by @MartinWeindel [gardener/terraformer#137][OPERATOR]
terraform has been upgraded to 0.14.11 by @stoyanr [gardener/terraformer#106][OPERATOR]
terraform has been upgraded to 0.15.5 by @stoyanr [gardener/terraformer#107][OPERATOR]
CVE categorization for Terraformer oci images has been added. by @dkistner [gardener/terraformer#134][OPERATOR]
Update TF_VERSION0.15.5
->1.3.9
and update how the local providers are fetched and stored to be compatible with the latest TF specification. by @kon-angelo [gardener/terraformer#133][OPERATOR]
Update alpine to 3.15.4 by @rfranzke [gardener/terraformer#117][OPERATOR]
Gardener dependency has been updated fromv1.59.1
tov1.71.2
by @MartinWeindel [gardener/terraformer#137][OPERATOR]
Builder base image has been updated fromgolang:1.19.6
togolang:1.20.4
by @MartinWeindel [gardener/terraformer#137]
[gardener/machine-controller-manager-provider-equinix-metal]
🏃 Others
-
[DEPENDENCY]
upgraded dependency:github.com/gardener/machine-controller-manager -> v0.49.1 by @himanshu-kun [gardener/machine-controller-manager-provider-equinix-metal#14]
-
[OPERATOR]
updated to go 1.20.4 by @himanshu-kun [gardener/machine-controller-manager-provider-equinix-metal#15]
[gardener/gardener-extension-provider-equinix-metal]
⚠️ Breaking Changes
[OPERATOR]
provider-equinix-metal
no longer supports Shoots with Кubernetes version < 1.22. by @shafeeqes [#278]
✨ New Features
[USER]
The Equinix Metal extension does now support shoot clusters with Kubernetes version 1.27. You should consider the Kubernetes release notes before upgrading to 1.27. by @ary1992 [#270][DEVELOPER]
This extension now uses the simplifiedNetworkPolicy
approach for allowing traffic to its webhook server fromkube-apiserver
s of shoot clusters. by @rfranzke [#273][DEVELOPER]
This extension is now compatible with theMachineControllerManagerDeployment
feature gate ofgardenlet
. by @rfranzke [#275]
🐛 Bug Fixes
[OPERATOR]
Updated equinix ccm to 3.6.1. This version includes a critical bugfix for Metal-LB compatibility. by @schrodit [#258]
🏃 Others
[DEVELOPER]
All code related to the removedAPIServerSNI
feature gate ofgardenlet
has been removed from this extension. by @rfranzke [#274][DEVELOPER]
Add schrodit as codeowner. by @schrodit [#261][OPERATOR]
The following dependency has been updated:[OPERATOR]
Old and obsolete logging configurations are removed. by @vlvasilev [#271]
📖 Documentation
[DEPENDENCY]
The flags which went out-of-support in MCM v0.49.0 have been cleaned up from MCM deployment yaml. by @himanshu-kun [#264]
[gardener/machine-controller-manager]
🐛 Bug Fixes
[OPERATOR]
IncludedUnavailableReplicas
in determining if a machine deployment status update is needed by @ialidzhikov [gardener/machine-controller-manager#834]
Docker Images
gardener-extension-provider-equinix-metal: eu.gcr.io/gardener-project/gardener/extensions/provider-equinix-metal:v2.7.0
v2.6.0
[gardener-extension-provider-equinix-metal]
✨ New Features
- [USER] This release adds HA support for Equinix-Metal's control-plane components when extension is deployed along with Gardener >=
v1.60
. Please see this document for more information about HA settings in shoot clusters. (#237, @timuthy) - [USER] The provider-equinix-metal extension does now support shoot clusters with Kubernetes version 1.26. You should consider the Kubernetes release notes before upgrading to 1.26. (#242, @ialidzhikov)
- [OPERATOR] Extension and control-plane components have been adjusted to the high availability configuration supported by Gardener as of release
v1.60
. See this document for more information about HA in gardener. (#237, @timuthy)
🐛 Bug Fixes
- [OPERATOR] The stale healthcheck conditions from the extension are now properly cleaned up. (#250, @acumino)
- [OPERATOR] Fixes a bug that causes the prevented the extension from creating PodDisruptionBudget resources. (#253, @schrodit)
- [OPERATOR] The Equinix cloud-controller-manager has been updated to v3.6.0. (#254, @schrodit)
- This new version contains a critical bugfix that caused the ccm to be in a crashloop.
- [OPERATOR] Fixes a bug in the CCM deployment that caused it to not be correctly deployed due to an outdated secret reference in newer Gardener versions. (#255, @schrodit)
🏃 Others
- [OPERATOR] scheduler.alpha.kubernetes.io/critical-pod annotation is removed as pod priority (spec.priorityClassName) is used instead to mark pods as critical (#235, @dimitar-kostadinov)
- [OPERATOR] Adds a heartbeat controller that creates and renews a
Lease
resource namedgardener-extension-heartbeat
in the namespace where the extension controller is deployed. ThisLease
resource can be used by other controllers to check if theprovider-equinix-metal
extension controller is running. (#236, @AleksandarSavchev) - [OPERATOR] provider-equinix-metal no longer supports Shoots with Кubernetes version < 1.20. (#239, @dimitar-kostadinov)
- [OPERATOR] New fluent operator resources are introduced:
ClusterFilter
(#240, @Kristian-ZH) - [OPERATOR] Adapted extension components to support the FullNetworkPoliciesInRuntimeCluster feature gate introduced by
gardener/gardener
v1.66, see here and #7352 for more information. (#248, @rfranzke) - [OPERATOR] Switched images from DockerHub to copies in Gardener GCR (#251, @robinschneider)
- [DEPENDENCY] Dependency
github.com/gardener/gardener
is updatedv1.56.0
->v1.59.0
. (#236, @AleksandarSavchev) - [DEPENDENCY] The following dependency is updated: (#244, @shafeeqes)
- github.com/gardener/gardener: v1.59.0 -> v1.65.0
- k8s.io/* : v0.25.0 -> v0.26.1
- sigs.k8s.io/controller-runtime: v0.13.0-> v0.14.4
[machine-controller-manager]
⚠️ Breaking Changes
- [USER]
node
field is removed from machine status. controller will now depend on the node label which already was present in the machine object's metadata. If you(or your controller) are dependent on thestatus.node
field of the machine object, then kindly usenode
label under.metadata.labels
(gardener/machine-controller-manager#745, @rishabh-11) - [OPERATOR] Removal of the following flags (and corresponding fields in associated structs): 'machine-creation-timeout' 'machine-drain-timeout', 'machine-pv-detach-timeout', 'machine-health-timeout=10m', 'machine-safety-apiserver-statuscheck-timeout', 'machine-safety-apiserver-statuscheck-period', 'machine-safety-orphan-vms-period', 'machine-max-evict-retries', 'node-conditions', 'bootstrap-token-auth-extra-groups', 'delete-migrated-machine-class'. The MCM no longer accepts these flags since these are options handled by the Machine Controller invoked by platform specific provider launchers. (gardener/machine-controller-manager#769, @elankath)
- [DEVELOPER] Deletion of 'Driver.GenerateMachineClassForMigration'. Providers need to adapt to this. (gardener/machine-controller-manager#769, @elankath)
✨ New Features
- [USER] Machine object won't turn from
Pending
toRunning
state ifnode.gardener.cloud/critical-components-not-ready
taint is there on the corresponding node. (gardener/machine-controller-manager#778, @SimonKienzler) - [USER] MachineDeployment would now have
Progressing
condition even when no progress Deadline is specified. This condition would never go to the reasonProgressDeadlineExceeded
in that case. (gardener/machine-controller-manager#762, @himanshu-kun) - [OPERATOR] Using
kubectl get machines
will displayNode
of the corresponding machine as a column. If-owide
flag is used then the correspondingProviderID
will also be displayed. (gardener/machine-controller-manager#746, @rishabh-11) - [OPERATOR] Added new short names for machine(mc), machineClass(mcc), machineDeployment(mcd), and machineSet(mcs) resources. (gardener/machine-controller-manager#749, @rishabh-11)
🐛 Bug Fixes
- [USER] An edge case where all the machineSets were scaled down to zero has been dealt with. (gardener/machine-controller-manager#803, @himanshu-kun)
- [USER] Fix a bug in the bootstrap token creation that caused node to not be able to join the cluster due to an expired bootstrap token. (gardener/machine-controller-manager#773, @schrodit)
- [USER] Fix a bug in the bootstrap token creation that caused node to not be able to join the cluster due to an expired bootstrap token. (gardener/machine-controller-manager#777, @himanshu-kun)
📖 Documentation
- [DEVELOPER] Added proposal for hot-update of resources (instance/Nic/Disk) (gardener/machine-controller-manager#761, @himanshu-kun)
🏃 Others
- [USER] Updated golang version to v1.19.2 (gardener/machine-controller-manager#753, @rishabh-11)
- [USER] If during a rolling update scale-up is done, MCM scales up only the new machineSet, while in case of scale-down the scale-down amount is split among old machineSets, in proportion to their sizes. (gardener/machine-controller-manager#765, @himanshu-kun)
- [OPERATOR]
CrashloopBackoff
machines will turn toRunning
quicker (gardener/machine-controller-manager#806, @rishabh-11) - [OPERATOR] CVE categorization for MCM has been added. (gardener/machine-controller-manager#791, @dkistner)
- [DEVELOPER] The API generation now works again. Previously the API docs was generated to a location that was ignored by git and other API docs file was maintained. (gardener/machine-controller-manager#800, @ialidzhikov)
- [DEVELOPER] Bump
k8s.io/*
dependencies to v1.26.2 (gardener/machine-controller-manager#792, @afritzler) - [DEVELOPER] go version updated to 1.19.4 in pipeline and Dockerfile (gardener/machine-controller-manager#766, @himanshu-kun)
Docker Images
gardener-extension-provider-equinix-metal: eu.gcr.io/gardener-project/gardener/extensions/provider-equinix-metal:v2.6.0
v2.5.0
[gardener-extension-provider-equinix-metal]
⚠️ Breaking Changes
- [OPERATOR] This version of provider-equinix-metal requires Gardener v1.50+. (gardener/gardener-extension-provider-equinix-metal#217, @krgostev)
✨ New Features
- [USER] The Equinix Metal extension does now support shoot clusters with Kubernetes version 1.25. You should consider the Kubernetes release notes before upgrading to 1.25. (gardener/gardener-extension-provider-equinix-metal#232, @shafeeqes)
🐛 Bug Fixes
- [USER] Fixed a bug that caused clusters running Kubernetes version > 1.22 to crash due to the outdated feature gate
VolumeSnapshotDataSource
. (gardener/gardener-extension-provider-equinix-metal#226, @schrodit)
🏃 Others
- [OPERATOR] Shoot pods created by this extension now have their seccomp profiles set to "RuntimeDefault". (gardener/gardener-extension-provider-equinix-metal#229, @AleksandarSavchev)
- [OPERATOR] Update golang version used to 1.19.1 (gardener/gardener-extension-provider-equinix-metal#231, @shafeeqes)
- [OPERATOR] Adjust metric name due to upgrading the kube-state-metrics component (gardener/gardener-extension-provider-equinix-metal#216, @istvanballok)
- [OPERATOR] The extension container now uses
distroless
instead ofalpine
as a base image. (gardener/gardener-extension-provider-equinix-metal#218, @dimityrmirchev) - [OPERATOR] Adds versioned User-Agent to Equinix Metal Client requests (gardener/gardener-extension-provider-equinix-metal#221, @displague)
- [DEPENDENCY] The following dependency is updated: (gardener/gardener-extension-provider-equinix-metal#230, @shafeeqes)
- github.com/gardener/gardener: v1.48.0 -> v1.56.0
- k8s.io/* : v0.23.3 -> v0.25.0
- sigs.k8s.io/controller-runtime: v0.11.1 -> v0.13.0
[machine-controller-manager]
⚠️ Breaking Changes
- [OPERATOR] The default leader election resource lock of
machine-controller-manager
has been changed fromendpointsleases
toleases
. (gardener/machine-controller-manager#711, @acumino)- Please make sure, that you had at least
machine-controller-manager@v0.43.0
running before upgrading tov0.46.0
, so that it has successfully acquired leadership with the hybrid resource lock (endpointsleases
) at least once.
- Please make sure, that you had at least
✨ New Features
- [USER] Bootstrap token replacement by MCM is now supported for Ignition userData format (gardener/machine-controller-manager#743, @Gerrit91)
🐛 Bug Fixes
- [USER] Rollout freeze won't happen due to
Unknown
machines now. (gardener/machine-controller-manager#733, @himanshu-kun) - [OPERATOR] resourceName
machine-controller
added for leases in clusterrole. Updated version of Clusterroles and Clusterrolebindings to v1. (gardener/machine-controller-manager#739, @rishabh-11) - [OPERATOR] resourceName
machine-controller
added for leases in clusterrole. Updated version of Clusterroles and Clusterrolebindings to v1. (gardener/machine-controller-manager#738, @rishabh-11)
🏃 Others
- [OPERATOR] Migrated clients to use
policy/v1
PodDisruptionBudget
for kubernetes versions >= 1.21.policy/v1beta1
PDB is also supported but for k8s < 1.21 (gardener/machine-controller-manager#744, @shafeeqes) - [OPERATOR] Published docker images for Machine-Controller-Manager are now multi-arch ready. They support
linux/amd64
andlinux/arm64
. (gardener/machine-controller-manager#732, @timuthy) - [OPERATOR] The
machine-controller-manager
container now usesdistroless
instead ofalpine
as a base image. (gardener/machine-controller-manager#734, @dimityrmirchev)
[machine-controller-manager-provider-equinix-metal]
🏃 Others
- [OPERATOR] The
machine-controller-manager-provider-equinix-metal
container now usesdistroless
instead ofalpine
as a base image. (gardener/machine-controller-manager-provider-equinix-metal#10, @dimityrmirchev) - [DEPENDENCY] The following dependency is updated: (gardener/machine-controller-manager-provider-equinix-metal#11, @shafeeqes)
- github.com/gardener/machine-controller-manager v0.45.0 -> 0.47.0
Docker Images
gardener-extension-provider-equinix-metal: eu.gcr.io/gardener-project/gardener/extensions/provider-equinix-metal:v2.5.0