Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(RFC): disruption controls by reason #936

Conversation

Bryce-Soghigian
Copy link
Member

@Bryce-Soghigian Bryce-Soghigian commented Jan 14, 2024

Fixes #924
Implementation of Preferred Approach: #991

Follow Up Items
In order to lower the scope of the doc, we have sanitized the following

  • Representing Drift Reasons in the Reasons API
  • Budget Observability document covering events, metrics, and new Resource Status

We will solve these problems as follow-ups to this design to keep the document concise describing the simple api changes and desired behaviors

How was this change tested?
NA

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 14, 2024
@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jan 14, 2024
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jan 14, 2024
@coveralls
Copy link

coveralls commented Jan 14, 2024

Pull Request Test Coverage Report for Build 8885837567

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 51 unchanged lines in 6 files lost coverage.
  • Overall coverage increased (+0.06%) to 78.793%

Files with Coverage Reduction New Missed Lines %
pkg/controllers/disruption/singlenodeconsolidation.go 1 84.21%
pkg/controllers/disruption/emptynodeconsolidation.go 1 95.31%
pkg/test/environment.go 2 97.26%
pkg/controllers/disruption/multinodeconsolidation.go 7 88.37%
pkg/controllers/provisioning/provisioner.go 16 79.39%
pkg/controllers/disruption/validation.go 24 74.0%
Totals Coverage Status
Change from base Build 8796364550: 0.06%
Covered Lines: 8345
Relevant Lines: 10591

💛 - Coveralls

Copy link
Member

@jonathan-innis jonathan-innis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Thanks for taking this up! It's awesome to see progress towards this!

designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
Copy link

@charliedmcb charliedmcb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a valuable, interesting feature.

I prefer to keep things where defaulting to all is still a simple case. However, I do like the ability to have extensibility for action specific settings in approach b.

I'm curious if there is still a reasonable way without overbearing the API with having those possible settings to. Could end up adding action profiles instead to budget.

designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-action.md Outdated Show resolved Hide resolved
Bryce-Soghigian and others added 3 commits January 23, 2024 10:52
Co-authored-by: garvinp-stripe <97996462+garvinp-stripe@users.noreply.github.com>
@jonathan-innis
Copy link
Member

/assign @njtran

designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
Copy link
Contributor

@ellistarn ellistarn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on this! 🚀

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 23, 2024
Copy link
Contributor

@njtran njtran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving just a couple of comments at the end. Really great work on this!! Will wait for an approval or more two before merging.

designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
Co-authored-by: Nick Tran <10810510+njtran@users.noreply.github.com>
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
@@ -0,0 +1,365 @@
# Disruption Controls By Reason
# Table of Contents
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does using [[_TOC_]] work so we don't have to make sure this constantly aligns with the naming/titles below? See: https://stackoverflow.com/questions/47154661/how-can-i-create-a-table-of-content-in-gitlab-wiki

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.blog/changelog/2021-04-13-table-of-contents-support-in-markdown-files/ from what I can see github doesn't natively support generating them and trying the [[_TOC_]] syntax but it did not generate what we are looking for.

For now, we can remove the TOC, or I can regenerate it with a separate tool once we are ready to merge this in.

designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
Bryce-Soghigian and others added 2 commits April 25, 2024 09:44
Co-authored-by: Jonathan Innis <jonathan.innis.ji@gmail.com>
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
designs/disruption-controls-by-reason.md Outdated Show resolved Hide resolved
Bryce-Soghigian and others added 2 commits April 29, 2024 10:47
Co-authored-by: Nick Tran <10810510+njtran@users.noreply.github.com>
Co-authored-by: Nick Tran <10810510+njtran@users.noreply.github.com>
Copy link
Contributor

@njtran njtran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/lgtm

Good work!!!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 29, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Bryce-Soghigian, ellistarn, njtran

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 75826eb into kubernetes-sigs:main Apr 29, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Node Disruptions should have separate Budgets