Skip to content

Conversation

@mdbooth
Copy link
Contributor

@mdbooth mdbooth commented Nov 21, 2025

What type of PR is this?

/kind bug

What this PR does / why we need it:

This change has no effect on the output of this kustomization because the removed configuration was redundant. However, it fixes a bug which can be triggered when using this kustomization as a base for another kustomization.

kustomizeconfig contained 3 directives:

  • nameReference
  • namespace
  • varReference

varReference is redundant because vars are no longer used in this
kustomize: they are deprecated and usage was removed some time ago.

nameReference is redundant because the specified configuration is
already in kustomize's defaults. However, nameReference is the only
important transformation here.

namespace is incorrect. It directs the namespace transformer to update
webhooks/clientConfig/service/namespace. However, this is not the
intended function of the namespace transformer: it should only set the
namespace directly on objects and allow references to be updated
automatically by nameReference. Configuring it to update a reference
directly leaves kustomize with inconsistent internal state. Depending on
execution order this can cause a subsequent transformation to fail to
update the reference when it makes further changes to the Service
object.

This issue is common amongst multiple providers, likely because it was present in an early version of the kubebuilder templates.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

To confirm that the removed configuration was redundant:

  • Execute make release-manifests
  • Copy out/infrastructure-components.yaml to /tmp
  • Apply/revert this change
  • Execute make release-manifests again
  • diff the outputs and confirm that they are identical

Release note:

NONE

This change has no effect on the output of this kustomization, but fixes
a bug which can be triggered when using it as a base for another
kustomization.

kustomizeconfig contained 3 directives:
* nameReference
* namespace
* varReference

varReference is redundant because vars are no longer used in this
kustomize: they are deprecated and usage was removed some time ago.

nameReference is redundant because the specified configuration is
already in kustomize's defaults. However, nameReference is the only
important transformation here.

namespace is incorrect. It directs the namespace transformer to update
webhooks/clientConfig/service/namespace. However, this is not the
intended function of the namespace transformer: it should only set the
namespace directly on objects and allow references to be updated
automatically by nameReference. Configuring it to update a reference
directly leaves kustomize with inconsistent internal state. Depending on
execution order this can cause a subsequent transformation to fail to
update the reference when it makes further changes to the Service
object.
@k8s-ci-robot k8s-ci-robot added the release-note-none Denotes a PR that doesn't merit a release note. label Nov 21, 2025
@k8s-ci-robot k8s-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Nov 21, 2025
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 21, 2025
@codecov
Copy link

codecov bot commented Nov 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.54%. Comparing base (57ecea2) to head (a8b02d4).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5982   +/-   ##
=======================================
  Coverage   44.53%   44.54%           
=======================================
  Files         279      279           
  Lines       25140    25140           
=======================================
+ Hits        11197    11199    +2     
+ Misses      13130    13128    -2     
  Partials      813      813           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mdbooth
Copy link
Contributor Author

mdbooth commented Nov 21, 2025

/test pull-cluster-api-provider-azure-ci-entrypoint

@mdbooth
Copy link
Contributor Author

mdbooth commented Nov 21, 2025

Doesn't look related. Hopefully a flake.

/test pull-cluster-api-provider-azure-e2e

Copy link
Contributor

@mboersma mboersma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

Thank you for cleaning this up!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 24, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 2142615c9a1e1994a24176252193c12850f9a73d

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mboersma

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 24, 2025
@k8s-ci-robot k8s-ci-robot merged commit 2130510 into kubernetes-sigs:main Nov 24, 2025
32 checks passed
@github-project-automation github-project-automation bot moved this from Todo to Done in CAPZ Planning Nov 24, 2025
@k8s-ci-robot k8s-ci-robot added this to the v1.22 milestone Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants