Closed mdbooth closed 5 months ago
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mdbooth
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Name | Link |
---|---|
Latest commit | e6a194b61ab5d5ea9071cd4bf599766c51fe709c |
Latest deploy log | https://app.netlify.com/sites/kubernetes-sigs-cluster-api-openstack/deploys/65eb937ecee527000817deb6 |
Deploy Preview | https://deploy-preview-1930--kubernetes-sigs-cluster-api-openstack.netlify.app |
Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site configuration.
This adds a fix for the externalNetwork issue which was causing CI failures. The issue was CI is emitting the following in the cluster spec:
spec:
externalNetwork:
id: null
The previous logic in ReconcileExternalNetwork correctly treated this as an empty stanza and executed the fallback 'list all external networks' query. The new logic which failed treated this as an explicitly given empty external network filter and executed it, returning all networks including non-external networks. This was an error as there were more than one.
The principal problem here is that we were executing an external network query without the external flag. This is fixed by setting it for both kinds of query (explicit and implicit).
Separately I have also opened https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/1932 to fix the weird external network stanza in the CI templates.
/test pull-cluster-api-provider-openstack-e2e-full-test
I've reviewed the commits one by one as suggested and everything looks good to me. I have a minor comment inline, but I think this PR is good to go. Thanks for this huge work!
/lgtm
This looks good /lgtm
/hold cancel
Interestingly, this PR introduces no substantial changes to the CRDs. It primarily affects Go marshalling and documentation. The changes are mostly mechanical.
The PR should hopefully be simpler to review by commit.
The first 2 commits are preparatory, and slightly separate to the other commits. They add some new functionality to the pkg/utils/optional types and update the existing PortOpts to use that functionality.
The rest are structed as changes to single fields, or related sets of fields.
/hold