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

Make StatefulSets safe during cluster failure #119

Closed
23 tasks
smarterclayton opened this issue Oct 8, 2016 · 8 comments
Closed
23 tasks

Make StatefulSets safe during cluster failure #119

smarterclayton opened this issue Oct 8, 2016 · 8 comments
Assignees
Labels
sig/apps Categorizes an issue or PR as relevant to SIG Apps.

Comments

@smarterclayton
Copy link
Contributor

Description

In order to safely run clustered software, the PetSet controller (and other high level components) must be able to ensure only one instance of a pet is running at any one time. This change will correct the core cluster logic controlling pod deletion to ensure pods can be used with this guarantee, and set direction for future improvements for reliable clusters around fencing and storage safety.

Progress Tracker

  • Alpha
    • Write and maintain draft quality doc
      • During development keep a doc up-to-date about the desired experience of the feature and how someone can try the feature in its current state. Think of it as the README of your new feature and a skeleton for the docs to be written before the Kubernetes release. Paste link to Google Doc: DOC-LINK
    • Design Approval
      • Design Proposal. Proposal - Pod safety and termination guarantees kubernetes#34160
      • Decide which repo this feature's code will be checked into. Not everything needs to land in the core kubernetes repo. kubernetes/kubernetes
      • Initial API review (if API). Maybe same PR as design doc. PR-NUMBER
        • Any code that changes an API (/pkg/apis/...)
        • cc @kubernetes/api
      • Identify shepherd (your SIG lead and/or kubernetes-pm@googlegroups.com will be able to help you). My Shepherd is: replace.me@replaceme.com (and/or GH Handle)
        • A shepherd is an individual who will help acquaint you with the process of getting your feature into the repo, identify reviewers and provide feedback on the feature. They are not (necessarily) the code reviewer of the feature, or tech lead for the area.
        • The shepherd is not responsible for showing up to Kubernetes-PM meetings and/or communicating if the feature is on-track to make the release goals. That is still your responsibility.
      • Identify secondary/backup contact point. My Secondary Contact Point is: replace.me@replaceme.com (and/or GH Handle)
    • Write (code + tests + docs) then get them merged. ALL-PR-NUMBERS
      • Code needs to be disabled by default. Verified by code OWNERS
      • Minimal testing
      • Minimal docs
        • cc @kubernetes/docs on docs PR
        • cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
        • New apis: Glossary Section Item in the docs repo: kubernetes/kubernetes.github.io
      • Update release notes
  • Beta
    • Testing is sufficient for beta
    • User docs with tutorials
      • Updated walkthrough / tutorial in the docs repo: kubernetes/kubernetes.github.io
      • cc @kubernetes/docs on docs PR
      • cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
    • Thorough API review
      • cc @kubernetes/api
  • Stable
    • docs/proposals/foo.md moved to docs/design/foo.md
      • cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
    • Soak, load testing
    • detailed user docs and examples
      • cc @kubernetes/docs
      • cc @kubernetes/feature-reviewers on this issue to get approval before checking this off

FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: IN_DEVELOPMENT

More advice:

Design

  • Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.

Coding

  • Use as many PRs as you need. Write tests in the same or different PRs, as is convenient for you.
  • As each PR is merged, add a comment to this issue referencing the PRs. Code goes in the http://github.com/kubernetes/kubernetes repository,
    and sometimes http://github.com/kubernetes/contrib, or other repos.
  • When you are done with the code, apply the "code-complete" label.
  • When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
    check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
    testing. They won't do detailed code review: that already happened when your PRs were reviewed.
    When that is done, you can check this box and the reviewer will apply the "code-complete" label.

Docs

  • Write user docs and get them merged in.
  • User docs go into http://github.com/kubernetes/kubernetes.github.io.
  • When the feature has user docs, please add a comment mentioning @kubernetes/docs.
  • When you get LGTM, you can check this checkbox, and the reviewer will apply the "docs-complete" label.
@smarterclayton smarterclayton added the sig/apps Categorizes an issue or PR as relevant to SIG Apps. label Oct 8, 2016
@idvoretskyi idvoretskyi modified the milestone: v1.5 Oct 11, 2016
@idvoretskyi
Copy link
Member

@smarterclayton please, update the naming and description with regards to "StatefulSets" renaming.

@jaredbhatti
Copy link

Ping. Is there a docs PR for this?

@erictune
Copy link
Member

This is covered by kubernetes/website#1774

@erictune
Copy link
Member

I've relabeled this as beta, not alpha. SS is beta. The change to node controller behavior sorta sidestepped the whole alpha/beta/GA thing.

@idvoretskyi
Copy link
Member

@erictune thank you.

@idvoretskyi idvoretskyi changed the title Make PetSets safe during cluster failure Make StatefulSets safe during cluster failure Dec 13, 2016
@idvoretskyi
Copy link
Member

@smarterclayton @erictune can you confirm that this item targets stable in 1.6?

@idvoretskyi idvoretskyi modified the milestones: v1.6, v1.5, next-milestone Dec 13, 2016
@erictune
Copy link
Member

erictune commented Dec 13, 2016 via email

@smarterclayton
Copy link
Contributor Author

This is stable in 1.6, ongoing work for DaemonSets is being tracked in #353

justaugustus pushed a commit to justaugustus/enhancements that referenced this issue Sep 3, 2018
architecture: make runtime reference more generic
ingvagabund pushed a commit to ingvagabund/enhancements that referenced this issue Apr 2, 2020
Add baremetal provisioning configuration to a new CR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/apps Categorizes an issue or PR as relevant to SIG Apps.
Projects
None yet
Development

No branches or pull requests

5 participants