clusterforge/kueue/CustomResourceDefinition_localqueues.kueue.x-k8s.io.yaml
2025-10-06 09:34:03 +00:00

426 lines
20 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.3
labels:
app.kubernetes.io/instance: kueue
app.kubernetes.io/name: kueue
app.kubernetes.io/version: v0.12.3
control-plane: controller-manager
name: localqueues.kueue.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: kueue-webhook-service
namespace: kueue-system
path: /convert
conversionReviewVersions:
- v1
group: kueue.x-k8s.io
names:
kind: LocalQueue
listKind: LocalQueueList
plural: localqueues
shortNames:
- queue
- queues
- lq
singular: localqueue
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Backing ClusterQueue
jsonPath: .spec.clusterQueue
name: ClusterQueue
type: string
- description: Number of pending workloads
jsonPath: .status.pendingWorkloads
name: Pending Workloads
type: integer
- description: Number of admitted workloads that haven't finished yet.
jsonPath: .status.admittedWorkloads
name: Admitted Workloads
type: integer
name: v1beta1
schema:
openAPIV3Schema:
description: LocalQueue is the Schema for the localQueues API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: LocalQueueSpec defines the desired state of LocalQueue
properties:
clusterQueue:
description: clusterQueue is a reference to a clusterQueue that backs this localQueue.
maxLength: 253
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
x-kubernetes-validations:
- message: field is immutable
rule: self == oldSelf
fairSharing:
description: |-
fairSharing defines the properties of the LocalQueue when
participating in AdmissionFairSharing. The values are only relevant
if AdmissionFairSharing is enabled in the Kueue configuration.
properties:
weight:
anyOf:
- type: integer
- type: string
default: 1
description: |-
weight gives a comparative advantage to this ClusterQueue
or Cohort when competing for unused resources in the
Cohort. The share is based on the dominant resource usage
above nominal quotas for each resource, divided by the
weight. Admission prioritizes scheduling workloads from
ClusterQueues and Cohorts with the lowest share and
preempting workloads from the ClusterQueues and Cohorts
with the highest share. A zero weight implies infinite
share value, meaning that this Node will always be at
disadvantage against other ClusterQueues and Cohorts.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
stopPolicy:
default: None
description: |-
stopPolicy - if set to a value different from None, the LocalQueue is considered Inactive,
no new reservation being made.
Depending on its value, its associated workloads will:
- None - Workloads are admitted
- HoldAndDrain - Admitted workloads are evicted and Reserving workloads will cancel the reservation.
- Hold - Admitted workloads will run to completion and Reserving workloads will cancel the reservation.
enum:
- None
- Hold
- HoldAndDrain
type: string
type: object
status:
description: LocalQueueStatus defines the observed state of LocalQueue
properties:
admittedWorkloads:
description: |-
admittedWorkloads is the number of workloads in this LocalQueue
admitted to a ClusterQueue and that haven't finished yet.
format: int32
type: integer
conditions:
description: |-
Conditions hold the latest available observations of the LocalQueue
current state.
items:
description: Condition contains details for one aspect of the current state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
fairSharing:
description: FairSharing contains the information about the current status of fair sharing.
properties:
admissionFairSharingStatus:
description: admissionFairSharingStatus represents information relevant to the Admission Fair Sharing
properties:
consumedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
ConsumedResources represents the aggregated usage of resources over time,
with decaying function applied.
The value is populated if usage consumption functionality is enabled in Kueue config.
type: object
lastUpdate:
description: LastUpdate is the time when share and consumed resources were updated.
format: date-time
type: string
required:
- consumedResources
- lastUpdate
type: object
weightedShare:
description: |-
WeightedShare represents the maximum of the ratios of usage
above nominal quota to the lendable resources in the
Cohort, among all the resources provided by the Node, and
divided by the weight. If zero, it means that the usage of
the Node is below the nominal quota. If the Node has a
weight of zero and is borrowing, this will return
9223372036854775807, the maximum possible share value.
format: int64
type: integer
required:
- weightedShare
type: object
flavorUsage:
description: |-
flavorsUsage are the used quotas, by flavor currently in use by the
workloads assigned to this LocalQueue.
items:
properties:
name:
description: name of the flavor.
maxLength: 253
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
resources:
description: resources lists the quota usage for the resources in this flavor.
items:
properties:
name:
description: name of the resource.
type: string
total:
anyOf:
- type: integer
- type: string
description: total is the total quantity of used quota.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- name
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
required:
- name
- resources
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
flavors:
description: flavors lists all currently available ResourceFlavors in specified ClusterQueue.
items:
properties:
name:
description: name of the flavor.
maxLength: 253
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
nodeLabels:
additionalProperties:
type: string
description: |-
nodeLabels are labels that associate the ResourceFlavor with Nodes that
have the same labels.
maxProperties: 8
type: object
x-kubernetes-map-type: atomic
nodeTaints:
description: |-
nodeTaints are taints that the nodes associated with this ResourceFlavor
have.
items:
description: |-
The node this Taint is attached to has the "effect" on
any pod that does not tolerate the Taint.
properties:
effect:
description: |-
Required. The effect of the taint on pods
that do not tolerate the taint.
Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: Required. The taint key to be applied to a node.
type: string
timeAdded:
description: |-
TimeAdded represents the time at which the taint was added.
It is only written for NoExecute taints.
format: date-time
type: string
value:
description: The taint value corresponding to the taint key.
type: string
required:
- effect
- key
type: object
maxItems: 8
type: array
x-kubernetes-list-type: atomic
resources:
description: resources used in the flavor.
items:
description: ResourceName is the name identifying various resources in a ResourceList.
type: string
maxItems: 16
type: array
x-kubernetes-list-type: set
topology:
description: |-
topology is the topology that associated with this ResourceFlavor.
This is an alpha field and requires enabling the TopologyAwareScheduling
feature gate.
properties:
levels:
description: levels define the levels of topology.
items:
type: string
maxItems: 8
minItems: 1
type: array
x-kubernetes-list-type: atomic
name:
description: name is the name of the topology.
maxLength: 253
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
required:
- levels
- name
type: object
required:
- name
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
flavorsReservation:
description: |-
flavorsReservation are the reserved quotas, by flavor currently in use by the
workloads assigned to this LocalQueue.
items:
properties:
name:
description: name of the flavor.
maxLength: 253
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
resources:
description: resources lists the quota usage for the resources in this flavor.
items:
properties:
name:
description: name of the resource.
type: string
total:
anyOf:
- type: integer
- type: string
description: total is the total quantity of used quota.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- name
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
required:
- name
- resources
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
pendingWorkloads:
description: PendingWorkloads is the number of Workloads in the LocalQueue not yet admitted to a ClusterQueue
format: int32
type: integer
reservingWorkloads:
description: |-
reservingWorkloads is the number of workloads in this LocalQueue
reserving quota in a ClusterQueue and that haven't finished yet.
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}