Skip to content

[18.0-fr5] Fix webhook config merge to match by name instead of index#1889

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:18.0-fr5from
openshift-cherrypick-robot:cherry-pick-1888-to-18.0-fr5
Apr 15, 2026
Merged

[18.0-fr5] Fix webhook config merge to match by name instead of index#1889
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:18.0-fr5from
openshift-cherrypick-robot:cherry-pick-1888-to-18.0-fr5

Conversation

@openshift-cherrypick-robot

@openshift-cherrypick-robot openshift-cherrypick-robot commented Apr 15, 2026

Copy link
Copy Markdown

This is an automated cherry-pick of #1888

/assign lmiccini

Jira: OSPRH-29026

MergeWebhookConfigurationForUpdate was copying the entire clientConfig
from current to updated webhooks by array index. When the webhook arrays
have different ordering (e.g. Kubernetes sorts alphabetically by name,
but the template YAML has a different order), each webhook gets the
clientConfig from the wrong entry. This scrambles the service paths,
causing admission requests to be routed to the wrong handler.

For example, mrabbitmq-v1beta1.kb.io would get the path for
/mutate-network-openstack-org-v1beta1-reservation instead of
/mutate-rabbitmq-openstack-org-v1beta1-rabbitmq, resulting in:
"unable to decode rabbitmq.openstack.org/v1beta1, Kind=RabbitMq
into *v1beta1.Reservation"

Fix by matching webhooks by name and only copying the caBundle field
(injected by cert-manager) rather than the entire clientConfig. This
preserves the correct service path from the updated template.

Jira: https://redhat.atlassian.net/browse/OSPRH-29026

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

OpenStackControlPlane CRD Size Report

Metric Value
CRD JSON size 322199 bytes (315KB)
Base branch size 322199 bytes
Change +0.00%
Status yellow — growing
Threshold reference
Color Range Meaning
🟢 green < 300KB Comfortable
🟡 yellow 300–400KB Growing
🟠 orange 400–750KB Concerning
🔴 red > 750KB Approaching 1.5MB etcd limit (cut in half to allow space for update)

@lmiccini

Copy link
Copy Markdown
Contributor

/test images

@openshift-ci openshift-ci Bot added the lgtm label Apr 15, 2026

@stuggi stuggi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci

openshift-ci Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lmiccini, openshift-cherrypick-robot, stuggi

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

The pull request process is described here

Details 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

@openshift-merge-bot openshift-merge-bot Bot merged commit 71aee76 into openstack-k8s-operators:18.0-fr5 Apr 15, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants