Re: [kubernetes/kubernetes] pluginwatcher there is no de-register method (#64637)

3 views
Skip to first unread message

Kubernetes Submit Queue

unread,
Jun 1, 2018, 5:45:21 PM6/1/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

[MILESTONENOTIFIER] Milestone Issue Needs Approval

@sbezverk @kubernetes/sig-storage-misc

Action required: This issue must have the status/approved-for-milestone label applied by a SIG maintainer. If the label is not applied within 7 days, the issue will be moved out of the v1.11 milestone.

Issue Labels
  • sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-soon: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts.
  • kind/bug: Fixes a bug discovered during the current release.
Help


You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Saad Ali

unread,
Jun 1, 2018, 5:46:33 PM6/1/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

If a plugin is removed, we have no way to deregister it. If a plugin is uninstalled, should the kubelet be alerted so it can do some cleanup? Probably not a blocker for 1.11, but let's think about it.

CC @jiayingz @vikaschoudhary16 @vishh @vladimirvivien @sbezverk @RenaudWasTaken

Kubernetes Submit Queue

unread,
Jun 1, 2018, 5:47:08 PM6/1/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

[MILESTONENOTIFIER] Milestone Issue Needs Attention

@sbezverk @kubernetes/sig-storage-misc

Action required: During code slush, issues in the milestone should be in progress.
If this issue is not being actively worked on, please remove it from the milestone.
If it is being worked on, please add the status/in-progress label so it can be tracked with other in-flight issues.

Note: If this issue is not resolved or labeled as priority/critical-urgent by Tuesday, June 5th it will be moved out of the v1.11 milestone.

Issue Labels
  • sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-soon: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts.
  • kind/bug: Fixes a bug discovered during the current release.
Help

Kubernetes Submit Queue

unread,
Jun 1, 2018, 5:49:48 PM6/1/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

[MILESTONENOTIFIER] Milestone Issue Needs Attention

@sbezverk @kubernetes/sig-storage-misc

Action required: During code slush, issues in the milestone should be in progress.
If this issue is not being actively worked on, please remove it from the milestone.
If it is being worked on, please add the status/in-progress label so it can be tracked with other in-flight issues.

Note: If this issue is not resolved or labeled as priority/critical-urgent by Tuesday, June 5th it will be moved out of the v1.11 milestone.

Issue Labels
  • sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-longterm: Escalate to the issue owners; move out of the milestone after 1 attempt.
  • kind/bug: Fixes a bug discovered during the current release.

Vikas Choudhary (vikasc)

unread,
Jun 1, 2018, 10:13:24 PM6/1/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

@saad-ali we discussed it already in the first meeting. If plugin uninstalls, grpc will pick that up and kubelet component can unregister it. later when the plugin will reapear, watcher will pick it up and send a register request to kubelet component.
/cc @jiayingz

Renaud Gaubert

unread,
Jun 2, 2018, 10:18:49 AM6/2/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

I've added a few comments to make this more explicit in PR#64621

Kubernetes Submit Queue

unread,
Jun 3, 2018, 4:26:03 AM6/3/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

[MILESTONENOTIFIER] Milestone Issue Needs Attention

@sbezverk @kubernetes/sig-storage-misc

Action required: During code slush, issues in the milestone should be in progress.
If this issue is not being actively worked on, please remove it from the milestone.
If it is being worked on, please add the status/in-progress label so it can be tracked with other in-flight issues.

Note: If this issue is not resolved or labeled as priority/critical-urgent by Tuesday, June 5th it will be moved out of the v1.11 milestone.

Issue Labels
  • sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-longterm: Escalate to the issue owners; move out of the milestone after 1 attempt.
  • kind/bug: Fixes a bug discovered during the current release.
Help

Kubernetes Submit Queue

unread,
Jun 4, 2018, 4:29:14 AM6/4/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

Kubernetes Submit Queue

unread,
Jun 5, 2018, 4:33:26 AM6/5/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

Serguei Bezverkhi

unread,
Jun 5, 2018, 8:32:49 AM6/5/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

@vikaschoudhary16 how pluginswatcher informs in-tree part of driver that the socket is gone and the driver needs to be de-registered?

Kubernetes Submit Queue

unread,
Jun 5, 2018, 8:51:12 PM6/5/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

[MILESTONENOTIFIER] Milestone Removed From Issue

@sbezverk @kubernetes/sig-storage-misc

Important: Code freeze is in effect and only issues with priority/critical-urgent may remain in the v1.11 milestone.

Renaud Gaubert

unread,
Jun 20, 2018, 10:30:09 PM6/20/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

From @saad-ali:

Unregistration is expected to be handled by the consumers using gRPC (i.e:when the connection closes).

gRPC connection close does not (and should not) signal plugin uninstallation/unregsitration. The CSI implementation, for example, closes the connection after every operation. Connection could also drop for a number of reasons.

So we do need to think about the socket deletion case (as a signal of plugin uninstallation), but I agree that does not need to be addressed in this PR. Please open another issue to track that and we can handle that separately.

Connection could also drop for a number of reasons.

The connection here is on a unix socket backed by the gRPC retry mechanism. At least in the device plugin case it is usually pretty safe to adequate a gRPC close to an un-registration.

Though I do agree that removing the socket is a more explicit and consistent signal for un-registration. And we could also consider gRPC connection closing as a crashed / unhealthy device plugin.

That would allow to have a saner model that clearly makes the distinction between crash and unregistered. And thus have different behavior.

Vikas Choudhary (vikasc)

unread,
Jun 21, 2018, 12:39:38 AM6/21/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

Will it be ok to assume that socket removal is always done by plugin intentionally and is not result of some unexpected action?

hui luo

unread,
Jun 21, 2018, 8:12:59 PM6/21/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

/cc

Saad Ali

unread,
Jun 27, 2018, 6:13:42 PM6/27/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

For CSI we intend to have two sockets, one that is used for registering and a second one to actually talk to the driver. As part of the registration process the path of the second socket is returned to Kubelet. After initial registration handshake the connection to the first socket is closed. Then for each operation kubelet opens a connection to the second CSI socket and closes it after that operation is complete. So the state of the socket (open or closed) is not a good signal for either "registration status" of plugin for CSI or for "plugin health". The existence of the socket would be a much better signal, so I support adding logic to monitor for socket removal and use that to trigger a "unregistration" callback.

Will it be ok to assume that socket removal is always done by plugin intentionally and is not result of some unexpected action? But agree that it is more explicit than gRPC disconnection.

Yes, that makes sense to me.

Renaud Gaubert

unread,
Oct 17, 2018, 12:16:24 PM10/17/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

I believe this was fixed by /pull/64621

Vladimir Vivien

unread,
Oct 18, 2018, 2:56:58 PM10/18/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

So this was implemented. Should this be closed?

Renaud Gaubert

unread,
Oct 18, 2018, 4:48:15 PM10/18/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

/close
Is this the right command?

k8s-ci-robot

unread,
Oct 18, 2018, 4:48:15 PM10/18/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

Closed #64637.

k8s-ci-robot

unread,
Oct 18, 2018, 4:49:00 PM10/18/18
to kubernetes/kubernetes, k8s-mirror-storage-misc, Team mention

@RenaudWasTaken: Closing this issue.

In response to this:

/close
Is this the right command?

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.

Reply all
Reply to author
Forward
0 new messages