Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 46 additions & 46 deletions openshift/infrastructure-components-openshift.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24393,6 +24393,52 @@ metadata:
clusterctl.cluster.x-k8s.io: ""
name: capi-validating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capi-webhook-service
namespace: openshift-cluster-api
path: /validate-ipam-cluster-x-k8s-io-v1beta2-ipaddress
failurePolicy: Ignore
matchPolicy: Equivalent
name: validation.ipaddress.ipam.cluster.x-k8s.io
rules:
- apiGroups:
- ipam.cluster.x-k8s.io
apiVersions:
- v1beta2
operations:
- CREATE
- UPDATE
- DELETE
resources:
- ipaddresses
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capi-webhook-service
namespace: openshift-cluster-api
path: /validate-ipam-cluster-x-k8s-io-v1beta2-ipaddressclaim
failurePolicy: Ignore
matchPolicy: Equivalent
name: validation.ipaddressclaim.ipam.cluster.x-k8s.io
rules:
- apiGroups:
- ipam.cluster.x-k8s.io
apiVersions:
- v1beta2
operations:
- CREATE
- UPDATE
- DELETE
resources:
- ipaddressclaims
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
Expand Down Expand Up @@ -24637,52 +24683,6 @@ webhooks:
resources:
- machinepools
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capi-webhook-service
namespace: openshift-cluster-api
path: /validate-ipam-cluster-x-k8s-io-v1beta2-ipaddress
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.ipaddress.ipam.cluster.x-k8s.io
rules:
- apiGroups:
- ipam.cluster.x-k8s.io
apiVersions:
- v1beta2
operations:
- CREATE
- UPDATE
- DELETE
resources:
- ipaddresses
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capi-webhook-service
namespace: openshift-cluster-api
path: /validate-ipam-cluster-x-k8s-io-v1beta2-ipaddressclaim
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.ipaddressclaim.ipam.cluster.x-k8s.io
rules:
- apiGroups:
- ipam.cluster.x-k8s.io
apiVersions:
- v1beta2
operations:
- CREATE
- UPDATE
- DELETE
resources:
- ipaddressclaims
sideEffects: None
---
apiVersion: v1
kind: Service
Expand Down
6 changes: 3 additions & 3 deletions openshift/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ kind: Kustomization
resources:
- ../config/default

patchesStrategicMerge:
- ./patches/enable-metadata-syncing.yaml

patches:
- path: ./patches/enable-metadata-syncing.yaml
- path: ./patches/failure-policy-ignore-ipam-webhooks.yaml

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions openshift/patches/failure-policy-ignore-ipam-webhooks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Set the failurePolicy to Ignore for the validating webhooks handling IPAM resources.
#
# During bootstrap, the bootstrap node's Kube API Server receives IPAM create requests but is unable
# to reach the webhooks in the Cluster API namespace.
#
# This is because the bootstrap node doesn't have a route to the pods as it doesn't have access to the pod networks.
# If failurePolicy is set to Fail, the KAS cannot reach the webhook endpoints and the request fails, preventing creation of IPAddress and IPAddressClaim resources.
#
# This causes a chicken-and-egg problem as it prevents IPAM provisioning
# for the workers which won't start without their IP addresses being allocated.
#
# Setting failurePolicy to Ignore allows the resources to be created even when the webhooks are
# unreachable during bootstrap, matching what Machine API also does.
#
# More context: https://redhat-internal.slack.com/archives/C0A2M43S199/p1765540108488539
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: capi-validating-webhook-configuration
webhooks:
- name: validation.ipaddress.ipam.cluster.x-k8s.io
failurePolicy: Ignore
- name: validation.ipaddressclaim.ipam.cluster.x-k8s.io
failurePolicy: Ignore