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

Provide Metrics for Volume Controllers and Plugins #167

Closed
23 tasks
rootfs opened this issue Jan 20, 2017 · 13 comments
Closed
23 tasks

Provide Metrics for Volume Controllers and Plugins #167

rootfs opened this issue Jan 20, 2017 · 13 comments
Assignees
Labels
sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status
Milestone

Comments

@rootfs
Copy link

rootfs commented Jan 20, 2017

Description

Volume Controllers (Attach/Detach and PV) and plugins don't report any metrics. Often time, developers have to look at logs to identify performance issues. Admins don't have insight to Volume level latency, utilization, or errors. Adding metrics to controllers and plugins can inspect multiple levels in volume layer and help both developers and admins.

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. This goes under design-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
      • Decide which repo this feature's code will be checked into. Not everything needs to land in the core kubernetes repo. REPO-NAME
      • 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: Brad Childs @childsb
        • 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: Hemant Kumar @gnufied
    • 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.
@rootfs
Copy link
Author

rootfs commented Jan 20, 2017

@kubernetes/sig-storage-misc

@erictune
Copy link
Member

erictune commented Jan 20, 2017 via email

@rootfs
Copy link
Author

rootfs commented Jan 20, 2017

@erictune I opened an issue with very brief description. My plan is to follow how node and garbage collector controllers do in their metrics. One of the immediate use cases is to help us understand volume attach latency.

If there is a design pattern, please let me know, thanks!

@mdelio mdelio added the sig/storage Categorizes an issue or PR as relevant to SIG Storage. label Jan 23, 2017
@mdelio mdelio added this to the v1.6 milestone Jan 23, 2017
@idvoretskyi
Copy link
Member

@rootfs which stage does this feature target for 1.6 (alpha/beta/stable)?

@rootfs
Copy link
Author

rootfs commented Feb 1, 2017

@idvoretskyi stable it is

@idvoretskyi idvoretskyi added the stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status label Feb 2, 2017
@idvoretskyi
Copy link
Member

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

@rootfs
Copy link
Author

rootfs commented Mar 8, 2017

@idvoretskyi will provide docs and notes after PR merge

@idvoretskyi
Copy link
Member

@rootfs it looks like the code hasn't been landed for 1.6 in time (before the feature freeze), moving the feature to the next milestone.

@idvoretskyi idvoretskyi modified the milestones: next-milestone, v1.6 Mar 14, 2017
@humblec
Copy link
Contributor

humblec commented Mar 28, 2017

@rootfs is there any chance to extend this API to monitor 'usage ( free/used) status' of the PV ?

@rootfs
Copy link
Author

rootfs commented Mar 28, 2017

Volume usage monitor has to go to plugins.

@humblec
Copy link
Contributor

humblec commented Mar 28, 2017

@rootfs Thanks!. Do we have any function/interface exist today which can trigger this action in volume plugin from controller/api ?

@saad-ali saad-ali modified the milestones: v1.7, next-milestone Apr 4, 2017
@xingzhou
Copy link

@rootfs and @humblec, have we already had the usage metrics in the plugins? and the same question as @humblec, how can we trigger the actions?

@rootfs
Copy link
Author

rootfs commented Apr 28, 2017

close this in favor of cloud provider level metrics #182

@rootfs rootfs closed this as completed Apr 28, 2017
ingvagabund pushed a commit to ingvagabund/enhancements that referenced this issue Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status
Projects
None yet
Development

No branches or pull requests

7 participants