--- 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: {}