Skip to content

Commit 555cf12

Browse files
authored
Order LLMInferenceServiceConfig last in ODH overlay for upgrade safety (#1427)
Move LLMInferenceServiceConfig resources to a thin wrapper component listed last in the ODH overlay, ensuring they appear after controllers and webhooks in FIFO sort order. This prevents upgrade failures (e.g. 3.3 -> 3.4) where the new llmisvc controller is deployed but the ValidatingWebhookConfiguration still uses the old configuration, blocking LLMInferenceServiceConfig resources from being applied. Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
1 parent 2293410 commit 555cf12

2 files changed

Lines changed: 30 additions & 1 deletion

File tree

config/overlays/odh/kustomization.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ kind: Kustomization
33

44
resources:
55
- ../../base
6-
- ../../llmisvcconfig
76
# - ../../crd/full/localmodel
87
- rbac/
98
- accelerators/
@@ -14,6 +13,18 @@ components:
1413
- ../../components/kserve
1514
- ../../components/llmisvc
1615
# - ../../localmodels
16+
# LLMInferenceServiceConfig resources listed last so they appear after all other
17+
# resources in FIFO sort order (components are appended after resources).
18+
# This ordering is critical for upgrades (e.g. 3.3 -> 3.4). In 3.3, there was
19+
# a single uber controller + webhook that included the llmisvc controller. In
20+
# 3.4, llmisvc has its own separate controller + webhook. During upgrades the
21+
# cluster is in a mixed state: the new controller(s) get deployed but the
22+
# ValidatingWebhookConfiguration may still use the old configuration, which is
23+
# incompatible with the new controller(s). If LLMInferenceServiceConfig
24+
# resources are applied before the webhook is fully updated, validation fails
25+
# and blocks the operator (DSC) from becoming ready. Placing these resources
26+
# last gives the controllers and webhooks a chance to be reconciled first.
27+
- llmisvcconfig/
1728

1829
namespace: opendatahub
1930

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Thin wrapper component to include LLMInferenceServiceConfig resources last
2+
# in the FIFO sort order. Components are appended after resources, so listing
3+
# this as the last component ensures LLMInferenceServiceConfig comes at the end.
4+
#
5+
# This ordering is critical for upgrades (e.g. 3.3 -> 3.4). In 3.3, there was
6+
# a single uber controller + webhook that included the llmisvc controller. In
7+
# 3.4, llmisvc has its own separate controller + webhook. During upgrades the
8+
# cluster is in a mixed state: the new controller(s) get deployed but the
9+
# ValidatingWebhookConfiguration may still use the old configuration, which is
10+
# incompatible with the new controller(s). If LLMInferenceServiceConfig
11+
# resources are applied before the webhook is fully updated, validation fails
12+
# and blocks the operator (DSC) from becoming ready. Placing these resources
13+
# last gives the controllers and webhooks a chance to be reconciled first.
14+
apiVersion: kustomize.config.k8s.io/v1alpha1
15+
kind: Component
16+
17+
resources:
18+
- ../../../llmisvcconfig

0 commit comments

Comments
 (0)