Skip to content

Releases: kubernetes-sigs/cluster-api-provider-openstack

Release v0.9.1

20 May 11:46
v0.9.1
62bcb87
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.0...v0.9.1

Release v0.10.3

17 May 09:09
v0.10.3
a0432a8
Compare
Choose a tag to compare

Changes since v0.10.2

🐛 Bug Fixes

  • Handle errors returned by GetInstanceStatusByName in machine controller (#2087)
  • allNodesSecurityGroupRules: relax remote fields (#2080)
  • Fix loadbalancer timeout panic (#2076)
  • Fix empty version output in release builds (#2059)
  • Fix panic executing manager without valid kube context (#2061)
  • Fix nil pointer issue while creating port (#2065)

🌱 Others

  • Drop dulek from reviewers (#2083)
  • Set FallbackToLogsOnError on CAPO manager (#2072)
  • Refactoring: never assign unacceptable TLS versions (#2062)

Thanks to all our contributors! 😊

Release v0.10.2

08 May 12:05
v0.10.2
5274e64
Compare
Choose a tag to compare

What's Changed

  • 🐛 [release-0.10] Fix enabling of disabled bastion on upgrade to v1beta1 by @mdbooth in #2053

Full Changelog: v0.10.1...v0.10.2

Release v0.10.1

30 Apr 19:58
v0.10.1
6b2ab8a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

Release v0.10.0

17 Apr 16:03
v0.10.0
f4e5bdf
Compare
Choose a tag to compare

Breaking API Changes

v0.10.0 is a major update which brings major changes to the API.

v1alpha5 is no longer served

If you are still using v1alpha5, this will not work in v0.10.0. However, for this release only objects are still defined in the CRDs and the code is still present, so as a temporary workaround it is possible to manually edit the CRDs to set versions.served to true for v1alpha5 objects. This is not tested, and we have low confidence that this will work without problems. Some manual effort may be required to check and fix automatically converted objects.

v1alpha6 and v1alpha7 are deprecated

v1alpha6 and v1alpha7 objects will be automatically converted to v1beta during use. This is well tested. We don’t anticipate problems with these conversions.

We will stop serving and testing v1alpha6 in the next release.

v1alpha7 is not marked deprecated in v0.10.0 to allow a switch-over period without deprecation warnings, but will be marked deprecated in the next release. Will will stop serving and testing it in a release after that.

You should update to use v1beta1 natively as soon as possible.

v1beta1 is released

v1beta1 marks a major update to the CAPO API. The specific changes from v1alpha7 are documented here: https://cluster-api-openstack.sigs.k8s.io/topics/crd-changes/v1alpha7-to-v1beta1

More than this, though, it marks an intention by the maintainers to stop making breaking changes. The API will continue to evolve, but we will make every effort to do this without introducing more backwards-incompatible changes.

Removal of hardcoded Calico CNI security group rules

This is documented more completely in the API upgrade documentation.

Prior to v1beta1, when using managed security groups we would automatically add certain rules which were specific to Calico CNI. It was not possible to add rules for any other CNI. A common way to work round this was to set allowAllInClusterTraffic: true.

With v1beta1 there are no longer any implicit rules for any CNI. However, it is now possible to specify custom rules in the cluster spec which will be automatically added to managed security groups. Users of Calico CNI must now add these rules explicitly. Users of other CNIs now have the option of using managed security groups.

Calico CNI rules will be added automatically when upgrading to v1beta1 from a previous API version.

The Calico CNI rules have been added to the release templates, so for now creating a cluster with clusterctl will continue to have Calico rules when using the default templates.

Management cluster changes

Removal of MutatingWebhookConfiguration

CAPO no longer uses a mutating webhook, and its configuration is removed. If you upgrade your management cluster with clusterctl this will be handled correctly. If you do it manually you must ensure you remove the MutatingWebhookConfiguration capo-mutating-webhook-configuration. If you do not you may see errors like the one in #1927.

Minimum management cluster version is now 1.25

v0.10.0 now uses https://kubernetes.io/docs/reference/using-api/cel/ for some API validations, which only became available without a feature gate in 1.25. Consequently we now require the management cluster to be at least k8s 1.25.

Highlighted new features

API Reference documentation

We now automatically publish API reference documentation! The documentation for v1beta1 can be found here: https://cluster-api-openstack.sigs.k8s.io/api/v1beta1/api

Floating IP IPAM Provider

It is now possible to allocate floating IPs for individual machines using the new Floating IP IPAM Provider documented here: https://cluster-api-openstack.sigs.k8s.io/api/v1alpha1/api#infrastructure.cluster.x-k8s.io/v1alpha1.OpenStackFloatingIPPool

Attach them to a machine via the new floatingIPPoolRef in OpenStackMachineSpec: https://cluster-api-openstack.sigs.k8s.io/api/v1beta1/api#infrastructure.cluster.x-k8s.io/v1beta1.OpenStackMachineSpec

What's Changed

New Features

Bug fixes

  • 🐛 Don't apply worker SG to control plane machines by @stephenfin in #1785
  • 🐛 Fix potential panic during instance create by @mandre in #1803
  • 🐛 Fix patching OpenstackMachine's immutable spec during reconcile by @strudelPi in #1807
  • 🐛 fix: skip port deletion when instances have no port by @dulek in #1818
  • 🐛 Fix random instance port deletion by @zioc in #1753
  • 🐛 Persist API FloatingIP immediately on creation by @mdbooth in #1829
  • 🐛 controllers: do not return a RequeueAfter and an error at the same time by @EmilienM in #1839
  • 🐛Fix a stacktrace in LB logic by removing listener name from an error message when not set by @huxcrux in #1853
  • 🐛Make sure that allowedCidrs lists are compared correctly to avoid patching LB listener when not needed by @huxcrux in #1854
  • 🐛 Prevent the bastion to be removed before it's been disabled by @EmilienM in #1866
  • 🐛 Ignore 'OS_*' environment variables by @stephenfin in #1883
  • 🐛 Fix cluster network cleanup by @dulek in #1880
  • 🐛 loadbalancer: resolve ControlPlaneEndpoint.Host when needed by @EmilienM in #1738
  • 🐛 api/additionalPorts: don't create UDP rules by @EmilienM in #1899
  • 🐛 v1alpha5: Fix panic in conversion when port has no binding profile by @mdbooth in #1949
  • 🐛 Fix accidental parsing of password by @JanGutter in #1953

Documentation

Administrative

  • Remove Tobias and Se...
Read more

Release v0.10.0-rc.1

15 Apr 08:31
v0.10.0-rc.1
f4e5bdf
Compare
Choose a tag to compare
Release v0.10.0-rc.1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.10.0-rc.0...v0.10.0-rc.1

Release v0.10.0-rc.0

12 Apr 10:38
v0.10.0-rc.0
4cf3c1b
Compare
Choose a tag to compare
Release v0.10.0-rc.0 Pre-release
Pre-release

What's Changed

  • 🌱 Minor improvements to api validation tests by @mdbooth in #2001
  • 📖 Document the change of instanceID in v1beta1 by @pierreprinetti in #2003
  • feat: add configurable loadbalancer network by @oblazek in #1922
  • 🐛 Include more device_owners when looking for a port for floating ip by @bilbobrovall in #1996
  • 🌱 Cleanup security group created by e2e test by @mdbooth in #2010
  • 🐛 Don't try to resolve machine on delete if cluster not ready by @mdbooth in #2006
  • Add opt to use AZ for APISeverLoadBalancer by @dulek in #2004
  • 🌱 Bump k8s dep to 0.29.3 by @mdbooth in #2014
  • ⚠️ Allow explicitly empty volume AZ by @mdbooth in #2008
  • 🐛 Fix idempotent restore when setting ControlPlaneEndpoint by @mdbooth in #2011

New Contributors

Full Changelog: v0.10.0-alpha.1...v0.10.0-rc.0

Release v0.10.0-alpha.1

04 Apr 18:28
v0.10.0-alpha.1
d2d1cb2
Compare
Choose a tag to compare
Pre-release

What's Changed

  • 🌱 Remove legacy v1alpha7 filterconvert utils by @mdbooth in #1992
  • 🐛 Rules are optional in security group rules before v1beta1 by @mdbooth in #2000
  • 🐛 Make floatingIPNetwork a pointer and if there's only one external network use it as default by @bilbobrovall in #1998

Full Changelog: v0.10.0-alpha.0...v0.10.0-alpha.1

Release v0.10.0-alpha.0

02 Apr 17:03
v0.10.0-alpha.0
79fcb6a
Compare
Choose a tag to compare
Pre-release

Breaking API Changes

v0.10.0 is a major update which brings major changes to the API.

v1alpha5 is no longer served

If you are still using v1alpha5, this will not work in v0.10.0. However, for this release only objects are still defined in the CRDs and the code is still present, so as a temporary workaround it is possible to manually edit the CRDs to set versions.served to true for v1alpha5 objects. This is not tested, and we have low confidence that this will work without problems. Some manual effort may be required to check and fix automatically converted objects.

v1alpha6 and v1alpha7 are deprecated

v1alpha6 and v1alpha7 objects will be automatically converted to v1beta during use. This is well tested. We don’t anticipate problems with these conversions.

We will stop serving and testing v1alpha6 in the next release, and v1alpha7 some time after that. You should update to use v1beta1 natively as soon as possible.

v1beta1 is released

v1beta1 marks a major update to the CAPO API. The specific changes from v1alpha7 are documented here: https://cluster-api-openstack.sigs.k8s.io/topics/crd-changes/v1alpha7-to-v1beta1

More than this, though, it marks an intention by the maintainers to stop making breaking changes. The API will continue to evolve, but we will make every effort to do this without introducing more backwards-incompatible changes.

Management cluster changes

Removal of MutatingWebhookConfiguration

CAPO no longer uses a mutating webhook, and its configuration is removed. If you upgrade your management cluster with clusterctl this will be handled correctly. If you do it manually you must ensure you remove the MutatingWebhookConfiguration capo-mutating-webhook-configuration. If you do not you may see errors like the one in #1927.

Minimum management cluster version is now 1.25

v0.10.0 now uses https://kubernetes.io/docs/reference/using-api/cel/ for some API validations, which only became available without a feature gate in 1.25. Consequently we now require the management cluster to be at least k8s 1.25.

Highlighted new features

API Reference documentation

We now automatically publish API reference documentation! The documentation for v1beta1 can be found here: https://cluster-api-openstack.sigs.k8s.io/api/v1beta1/api

Floating IP IPAM Provider

It is now possible to allocate floating IPs for individual machines using the new Floating IP IPAM Provider documented here: https://cluster-api-openstack.sigs.k8s.io/api/v1alpha1/api#infrastructure.cluster.x-k8s.io/v1alpha1.OpenStackFloatingIPPool

Attach them to a machine via the new floatingIPPoolRef in OpenStackMachineSpec: https://cluster-api-openstack.sigs.k8s.io/api/v1beta1/api#infrastructure.cluster.x-k8s.io/v1beta1.OpenStackMachineSpec

Detailed changes

Read more

Release v0.9.0

20 Dec 13:31
v0.9.0
c75eba2
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.0...v0.9.0