-
Notifications
You must be signed in to change notification settings - Fork 652
CustomPluginMonitor with multiple "permanent" rules for the same condition leads to confusing behavior #566
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
Comments
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
I wanted to reopen this since I've seen the same issue, and repro with the example. I had the same assumption about the behavior, with NPD taking the "worst" status. In the example, I would expect the reason to alway be One of the reasons this was my assumption is that the filelog plugin supports multiple permanent condition reasons, as shown in the KernelDeadLock config. I think this is because the status is only updated if the rule evaluates to true, though it's a little unclear to me how this gets set back to Since multiple reasons per permanent custom condition doesn't work right now, I think changing the behavior is reasonable here since it should be possible without changing the behavior for a single reason. What still needs to be defined would be the behavior when a) multiple rules that evaluate to something other than My thoughts on these: |
/reopen |
@shanalily: You can't reopen an issue/PR unless you authored it or you are a collaborator. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Hello,
I realized, having multiple "permanent" rules for the same node condition could lead to the node condition to flip-flop.
This is not a bug report, but rather I aim to trigger some design discussion. Let me first describe what I see now, and then I'll write my questions / ideas.
Current behavior description
For example, Let's say I have the following configuration:
/custom-scripts/test_condition_fail.sh
has the following content:/custom-scripts/test_condition_succeed.sh
has the following content:Now, when I run NPD with the above setup, I see the node condition
TestConditionHasProblem
to flip-flop.kubectl describe node NODE
shows the following events:From the NPD log, I see it's generating new status for both of the above rules in each iteration:
Questions / Ideas
I think making node condition to flip-flop is a bad thing. Is this reasonable?
If so, I'd like to see some improvements on NPD so that it'll be difficult for users to cause this flip-flop. Some ideas are:
I think we can even change NPD behavior. At first, I intuitively thought NPD will take the "worst" status of the rules. For example, if (like above example) one rule claims
OK
and the other rule claimsNonOK
forTestConditionHasProblem
in one iteration, the NPD can mark theTestConditionHasProblem
toTrue
.The text was updated successfully, but these errors were encountered: