Open
Description
Currently, InferencePool status is defined as:
type PoolStatus struct {
...
// Conditions track the state of the InferencePool.
//
// Known condition types are:
//
// * "Accepted"
// * "ResolvedRefs"
//
// +optional
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MaxItems=8
// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
Conditions []metav1.Condition `json:"conditions,omitempty"`
The Status=Unknown
condition is not being defaulted, even though the +kubebuilder:default
tag is defined. This is because PoolStatus is a field of InferencePoolStatus, e.g. Parents []PoolStatus
, and is not being defaulted.
Here are a few options to resolve this issue:
- Remove the defaulting behavior.
- Since OpenAPI does not support specifying default values for array items, restructure InferencePool status conditions so they are not per Gateway.