Skip to content

Commit

Permalink
Add kep for LQ defauling
Browse files Browse the repository at this point in the history
  • Loading branch information
yaroslava-serdiuk committed Nov 26, 2024
1 parent 4bbddce commit be70ff5
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile-deps.mk
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ hugo: ## Download hugo locally if necessary.
MDTOC = $(PROJECT_DIR)/bin/mdtoc
.PHONY: mdtoc
mdtoc: ## Download mdtoc locally if necessary.
@GOBIN=$(PROJECT_DIR)/bin CGO_ENABLED=1 $(GO_CMD) install sigs.k8s.io/mdtoc@$(MDTOC_VERSION)
@GOBIN=$(PROJECT_DIR)/bin CGO_ENABLED=1 $(GO_CMD) install sigs.k8s.io/mdtoc@latest


##@ External CRDs
Expand Down
63 changes: 63 additions & 0 deletions keps/2936-local-queue-defaulting/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# KEP-2936: LocalQueue defaulting

<!-- toc -->
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [User Stories](#user-stories)
- [Story 1](#story-1)
- [Notes/Constraints/Caveats (Optional)](#notesconstraintscaveats-optional)
- [Risks and Mitigations](#risks-and-mitigations)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
<!-- /toc -->

## Summary

This KEP introduces a defaulting LocalQueue mechanism for the jobs that don't have
LocalQueue name annotation specified.

## Motivation

Simplify user experience with Kueue.

### Goals

- default LocalQueue for jobs that don't specify LocalQueue name annotation.

### Non-Goals

- create a default LocalQueue.

## Proposal

If the Job doesn't have annotation for LocalQueue in its Spec and the LocalQueue
with name `default` is present in Job's namespace and KueueDefaulting feature gate
is enabled, the `kueue.x-k8s.io/queue-name:default` anotation will be added to the Job.

### User Stories

#### Story 1

Administrator createds a single `default` LocalQueue per namespace. Users doesn't need to specify
the LocalQueue annotation in order for workload to be scheduled.

### Notes/Constraints/Caveats (Optional)

manageJobsWithoutQueueName doesn't work with this feature, since Kueue add the LocalQueue
annotation.

### Risks and Mitigations

## Design Details

Update defautling webhook for all types of job to add `kueue.x-k8s.io/queue-name:default`
annotation if the annotation is not present and the feature gate is enabled.

### Test Plan

[x] I/we understand the owners of the involved components may require updates to
existing tests to make this code solid enough prior to committing the changes
necessary to implement this enhancement.
32 changes: 32 additions & 0 deletions keps/2936-local-queue-defaulting/kep.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
title: LocalQueue defaulting
kep-number: 2936
authors:
- "@yaroslava-serdiuk"
status: implementable
creation-date: 2024-11-25
reviewers:
- "@pbundyra"
- "@mwielgus"
- "@mimowo"
approvers:
- "@mimowo"

# The target maturity stage in the current dev cycle for this KEP.
stage: alpha

# The most recent milestone for which work toward delivery of this KEP has been
# done. This can be the current (upcoming) milestone, if it is being actively
# worked on.
latest-milestone: "v0.9"

# The milestone at which this feature was, or is targeted to be, at each stage.
milestone:
alpha: "v0.9"
beta:
stable:

# The following PRR answers are required at alpha release
# List the feature gate name and the components for which it must be enabled
feature-gates:
- name: KueueDefaulting
disable-supported: true

0 comments on commit be70ff5

Please sign in to comment.