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

Redefine the Container Runtime Interface #54

Closed
22 tasks
aronchick opened this issue Jul 22, 2016 · 21 comments
Closed
22 tasks

Redefine the Container Runtime Interface #54

aronchick opened this issue Jul 22, 2016 · 21 comments
Assignees
Labels
sig/node Categorizes an issue or PR as relevant to SIG Node. stage/beta Denotes an issue tracking an enhancement targeted for Beta status
Milestone

Comments

@aronchick
Copy link
Contributor

aronchick commented Jul 22, 2016

Description

We should separate image management, resource / cgroup management, logging management from today's runtime interface. After this effort, we effectively make today's runtime interface as pod / container lifecycle management interface. cc @yujuhong @dchen1107

Proposal here: kubernetes/kubernetes#25899

Progress Tracker

  • Before 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. This goes under docs/proposals. Doing a proposal as a PR allows line-by-line commenting from community, and creates the basis for later design documentation. Paste link to merged design proposal here: PROPOSAL-NUMBER
      • 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
  • Before 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
  • Before 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.
@aronchick aronchick added this to the v1.4 milestone Jul 22, 2016
@tmrts
Copy link

tmrts commented Jul 25, 2016

cc @kubernetes/sig-node @euank @yifan-gu

@resouer
Copy link

resouer commented Jul 25, 2016

Great, thanks for listing all these here!

@idvoretskyi
Copy link
Member

@dchen1107 @yujuhong can you clarify the actual status of the feature?

@dchen1107
Copy link
Member

Here is the current status and agreement sig-node team agreed upon for 1.5 release:
cc/ @derekwaynecarr @philips @yujuhong

  1. New Container Runtime Interface (CRI) is going to be released as alpha version in 1.5. This should be announced in 1.5 release notes.
  2. Porting Docker integration for the new CRI is going to be released as alpha support in 1.5. We made some cautious decision on dropping some features during the development. For example, HostPort, network bandwidth shaping, etc. This should be included in 1.5 release notes including the detail information of the feature parity. @yujuhong has the detail information on this.
  3. Other container runtime implementations under CRI, such as rkt, cri-o, and hyperd etc. are not at alpha state yet. They should not be included in 1.5 release notes.

@apsinha
Copy link

apsinha commented Dec 7, 2016

Can we add a link to the documentation for this issue?

@idvoretskyi
Copy link
Member

ping @dchen1107 @yujuhong

@yujuhong
Copy link
Contributor

yujuhong commented Dec 7, 2016

@idvoretskyi
Copy link
Member

@dchen1107 @yujuhong can you confirm that this item targets beta in 1.6?

@idvoretskyi idvoretskyi modified the milestones: next-milestone, v1.5 Dec 13, 2016
@calebamiles calebamiles modified the milestones: v1.6, next-milestone Feb 7, 2017
@calebamiles calebamiles added stage/beta Denotes an issue tracking an enhancement targeted for Beta status and removed (deprecated label - do not use) alpha-in-1.5 labels Feb 7, 2017
@idvoretskyi
Copy link
Member

@yujuhong any update on this feature? Docs and release notes are required (please, provide them to the features spreadsheet.

@jaredbhatti
Copy link

Pingity ping. Is there a Docs PR for this? Is one needed?

@yujuhong
Copy link
Contributor

@yujuhong any update on this feature? Docs and release notes are required (please, provide them to the features spreadsheet.

I updated the spreadsheet with the release note and "no" for the doc a week ago. @idvoretskyi changed my answer to yes. Is there a reason for doing that?

@idvoretskyi
Copy link
Member

@yujuhong can you submit a documentation PR with a few words about the changes since the feature has been graduated to beta?
Per release note "The Docker-CRI implementation is Beta and is enabled by default in kubelet. You can disable it by --enable-cri=false."; the changes are notable and it is likely to reflect them in the documentation.

@yujuhong
Copy link
Contributor

yujuhong commented Mar 17, 2017

It doesn't need a "doc" since it's not really a feature (it's really a refactoring). It does need more detailed release note.
E.g., I updated this: https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md#kubernetes-v16-release-docker-cri-integration-beta

sig-node will update the release note to include the relevant bits. I also plan to send out an email to explain the impact of this change.

@jaredbhatti
Copy link

I updated the tracking sheet for 1.6. Thanks.

@thockin
Copy link
Member

thockin commented Jun 9, 2017

When do we close this?

@yujuhong
Copy link
Contributor

We made the docker-cri integration the default in 1.6. Closing this issue.

@spiffxp
Copy link
Member

spiffxp commented Jun 12, 2017

does this imply CRI is now considered stable/GA?

@yujuhong
Copy link
Contributor

does this imply CRI is now considered stable/GA?

No. CRI as an internal API for kubelet and the built-in dockershim implementation is stable/GA; CRI as an external API for other runtimes is still Alpha.

@spiffxp
Copy link
Member

spiffxp commented Jun 12, 2017

@yujuhong ok, so the docker integration is being promoted from beta in v1.6 to stable as part of v1.7? just thinking about this in the context of release notes

@yujuhong
Copy link
Contributor

@spiffxp ah I see. This issue is marked v1.6, so I didn't know you were asking about the release note for v1.7.
Yes, the CRI-Docker integration is GA in 1.7 (and we've actually removed the old docker integration completely).

@spiffxp
Copy link
Member

spiffxp commented Jun 12, 2017

d'oh, somehow I didn't notice this was v1.6 only, but yeah, probably worth pointing out for v1.7, thanks

ingvagabund pushed a commit to ingvagabund/enhancements that referenced this issue Apr 2, 2020
Remove James Russell (coverprice) from OWNERS
howardjohn pushed a commit to howardjohn/enhancements that referenced this issue Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/node Categorizes an issue or PR as relevant to SIG Node. stage/beta Denotes an issue tracking an enhancement targeted for Beta status
Projects
None yet
Development

No branches or pull requests