-
Notifications
You must be signed in to change notification settings - Fork 663
Allow problem daemon plugins to define their command line options #348
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
Conversation
Unknown CLA label state. Rechecking for CLA labels. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/assign @wangzhen127 |
/assign @Random-Liu |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: xueweiz The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @Random-Liu , could you help take a look for this PR when you have time? Thanks :) |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
I don't think Zhen and Lantao would have time to review this in these days. |
/remove-lifecycle rotten |
This is to keep the interface for problem daemon plugins and exporter plugins in sync.
A little background:
We want to make all problem daemons (system-log, system-stats, custom-plugin) and all exporters (k8s, prometheus, stackdriver) into "plugins". By "plugin", what I really mean is this:
NPD main code does not directly import these libraries, and does not use these libraries directly.
Each plugin should be able to be disabled at compile time.
The challenge comes from the existing exporters (k8s, prometheus). They have been existing for a while, and is configured via command-line flags (e.g.
--apiserver-override
,--apiserver-wait-timeout
). So to refactor them into plugins, we had to allow plugins to define their own command-line options.This flexibility (defining command-line options) is implemented in #335 as part of #346 . So now we face another question:
Do we also change the code for problem daemon plugins so that they follow the same pattern? (i.e. allowing each plugin to define their own command-line interfaces)
--config.xxx
), and does not really need this flexibility. So it's not that crucial.