sigs.k8s.io/kueue@v0.6.2/keps/NNNN-template/README.md (about)

     1  # KEP-NNNN: Your short, descriptive title
     2  
     3  <!--
     4  This is the title of your KEP. Keep it short, simple, and descriptive. A good
     5  title can help communicate what the KEP is and should be considered as part of
     6  any review.
     7  -->
     8  
     9  <!--
    10  A table of contents is helpful for quickly jumping to sections of a KEP and for
    11  highlighting any additional information provided beyond the standard KEP
    12  template.
    13  
    14  Ensure the TOC is wrapped with
    15    <code>&lt;!-- toc --&rt;&lt;!-- /toc --&rt;</code>
    16  tags, and then generate with `hack/update-toc.sh`.
    17  -->
    18  
    19  <!-- toc -->
    20  - [Summary](#summary)
    21  - [Motivation](#motivation)
    22    - [Goals](#goals)
    23    - [Non-Goals](#non-goals)
    24  - [Proposal](#proposal)
    25    - [User Stories (Optional)](#user-stories-optional)
    26      - [Story 1](#story-1)
    27      - [Story 2](#story-2)
    28    - [Notes/Constraints/Caveats (Optional)](#notesconstraintscaveats-optional)
    29    - [Risks and Mitigations](#risks-and-mitigations)
    30  - [Design Details](#design-details)
    31    - [Test Plan](#test-plan)
    32        - [Prerequisite testing updates](#prerequisite-testing-updates)
    33      - [Unit Tests](#unit-tests)
    34      - [Integration tests](#integration-tests)
    35    - [Graduation Criteria](#graduation-criteria)
    36  - [Implementation History](#implementation-history)
    37  - [Drawbacks](#drawbacks)
    38  - [Alternatives](#alternatives)
    39  <!-- /toc -->
    40  
    41  ## Summary
    42  
    43  <!--
    44  This section is incredibly important for producing high-quality, user-focused
    45  documentation such as release notes or a development roadmap. It should be
    46  possible to collect this information before implementation begins, in order to
    47  avoid requiring implementors to split their attention between writing release
    48  notes and implementing the feature itself. KEP editors and SIG Docs
    49  should help to ensure that the tone and content of the `Summary` section is
    50  useful for a wide audience.
    51  
    52  A good summary is probably at least a paragraph in length.
    53  
    54  Both in this section and below, follow the guidelines of the [documentation
    55  style guide]. In particular, wrap lines to a reasonable length, to make it
    56  easier for reviewers to cite specific portions, and to minimize diff churn on
    57  updates.
    58  
    59  [documentation style guide]: https://github.com/kubernetes/community/blob/master/contributors/guide/style-guide.md
    60  -->
    61  
    62  ## Motivation
    63  
    64  <!--
    65  This section is for explicitly listing the motivation, goals, and non-goals of
    66  this KEP.  Describe why the change is important and the benefits to users. The
    67  motivation section can optionally provide links to [experience reports] to
    68  demonstrate the interest in a KEP within the wider Kubernetes community.
    69  
    70  [experience reports]: https://github.com/golang/go/wiki/ExperienceReports
    71  -->
    72  
    73  ### Goals
    74  
    75  <!--
    76  List the specific goals of the KEP. What is it trying to achieve? How will we
    77  know that this has succeeded?
    78  -->
    79  
    80  ### Non-Goals
    81  
    82  <!--
    83  What is out of scope for this KEP? Listing non-goals helps to focus discussion
    84  and make progress.
    85  -->
    86  
    87  ## Proposal
    88  
    89  <!--
    90  This is where we get down to the specifics of what the proposal actually is.
    91  This should have enough detail that reviewers can understand exactly what
    92  you're proposing, but should not include things like API designs or
    93  implementation. What is the desired outcome and how do we measure success?.
    94  The "Design Details" section below is for the real
    95  nitty-gritty.
    96  -->
    97  
    98  ### User Stories (Optional)
    99  
   100  <!--
   101  Detail the things that people will be able to do if this KEP is implemented.
   102  Include as much detail as possible so that people can understand the "how" of
   103  the system. The goal here is to make this feel real for users without getting
   104  bogged down.
   105  -->
   106  
   107  #### Story 1
   108  
   109  #### Story 2
   110  
   111  ### Notes/Constraints/Caveats (Optional)
   112  
   113  <!--
   114  What are the caveats to the proposal?
   115  What are some important details that didn't come across above?
   116  Go in to as much detail as necessary here.
   117  This might be a good place to talk about core concepts and how they relate.
   118  -->
   119  
   120  ### Risks and Mitigations
   121  
   122  <!--
   123  What are the risks of this proposal, and how do we mitigate? Think broadly.
   124  For example, consider both security and how this will impact the larger
   125  Kubernetes ecosystem.
   126  
   127  How will security be reviewed, and by whom?
   128  
   129  How will UX be reviewed, and by whom?
   130  
   131  Consider including folks who also work outside the SIG or subproject.
   132  -->
   133  
   134  ## Design Details
   135  
   136  <!--
   137  This section should contain enough information that the specifics of your
   138  change are understandable. This may include API specs (though not always
   139  required) or even code snippets. If there's any ambiguity about HOW your
   140  proposal will be implemented, this is the place to discuss them.
   141  -->
   142  
   143  ### Test Plan
   144  
   145  <!--
   146  **Note:** *Not required until targeted at a release.*
   147  The goal is to ensure that we don't accept enhancements with inadequate testing.
   148  
   149  All code is expected to have adequate tests (eventually with coverage
   150  expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
   151  when drafting this test plan.
   152  
   153  [testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
   154  -->
   155  
   156  [ ] I/we understand the owners of the involved components may require updates to
   157  existing tests to make this code solid enough prior to committing the changes necessary
   158  to implement this enhancement.
   159  
   160  ##### Prerequisite testing updates
   161  
   162  <!--
   163  Based on reviewers feedback describe what additional tests need to be added prior
   164  implementing this enhancement to ensure the enhancements have also solid foundations.
   165  -->
   166  
   167  #### Unit Tests
   168  
   169  <!--
   170  In principle every added code should have complete unit test coverage, so providing
   171  the exact set of tests will not bring additional value.
   172  However, if complete unit test coverage is not possible, explain the reason of it
   173  together with explanation why this is acceptable.
   174  -->
   175  
   176  <!--
   177  Additionally, try to enumerate the core package you will be touching
   178  to implement this enhancement and provide the current unit coverage for those
   179  in the form of:
   180  - <package>: <date> - <current test coverage>
   181  
   182  This can inform certain test coverage improvements that we want to do before
   183  extending the production code to implement this enhancement.
   184  -->
   185  
   186  - `<package>`: `<date>` - `<test coverage>`
   187  
   188  #### Integration tests
   189  
   190  <!--
   191  Describe what tests will be added to ensure proper quality of the enhancement.
   192  
   193  After the implementation PR is merged, add the names of the tests here.
   194  -->
   195  
   196  ### Graduation Criteria
   197  
   198  <!--
   199  
   200  Clearly define what it means for the feature to be implemented and
   201  considered stable.
   202  
   203  If the feature you are introducing has high complexity, consider adding graduation
   204  milestones with these graduation criteria:
   205  - [Maturity levels (`alpha`, `beta`, `stable`)][maturity-levels]
   206  - [Feature gate][feature gate] lifecycle
   207  - [Deprecation policy][deprecation-policy]
   208  
   209  [feature gate]: https://git.k8s.io/community/contributors/devel/sig-architecture/feature-gates.md
   210  [maturity-levels]: https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#alpha-beta-and-stable-versions
   211  [deprecation-policy]: https://kubernetes.io/docs/reference/using-api/deprecation-policy/
   212  -->
   213  
   214  ## Implementation History
   215  
   216  <!--
   217  Major milestones in the lifecycle of a KEP should be tracked in this section.
   218  Major milestones might include:
   219  - the `Summary` and `Motivation` sections being merged, signaling SIG acceptance
   220  - the `Proposal` section being merged, signaling agreement on a proposed design
   221  - the date implementation started
   222  - the first Kubernetes release where an initial version of the KEP was available
   223  - the version of Kubernetes where the KEP graduated to general availability
   224  - when the KEP was retired or superseded
   225  -->
   226  
   227  ## Drawbacks
   228  
   229  <!--
   230  Why should this KEP _not_ be implemented?
   231  -->
   232  
   233  ## Alternatives
   234  
   235  <!--
   236  What other approaches did you consider, and why did you rule them out? These do
   237  not need to be as detailed as the proposal, but should include enough
   238  information to express the idea and why it was not acceptable.
   239  -->