Giter VIP home page Giter VIP logo

Comments (7)

jsafrane avatar jsafrane commented on May 20, 2024 1

@davidz627, sorry, I did not see your comment (github outage?)

I could add a field for it, still I have bad feeling about it. If a driver is updated while a volume is attached, we should use the new NodeID. Using an old Node ID from VolumeAttachment annotation or field feels like workaround.

from external-attacher.

jsafrane avatar jsafrane commented on May 20, 2024

Thanks for the report. It's hard to judge what's right in this case.

The nodeID could be passed as empty string

That's very implementation dependent. Different drivers will do different things, usage of empty string is not described in CSI spec. It SHALL be "ID returned by NodeGetInfo", but Kubernetes does not have this information, because the node was deleted.

One thing I could perhaps do here is to store the node ID in VolumeAttachment annotation.
@saad-ali @davidz627, any opinions?

from external-attacher.

mape90 avatar mape90 commented on May 20, 2024

Thanks for quick response. Yes it is best not to alter the spec, so yes that my proposal is not possible. I trust that you find some elegant way to solve this.

from external-attacher.

davidz627 avatar davidz627 commented on May 20, 2024

@jsafrane I like the idea of storing the node ID in the VolumeAttachment, that information is very "tied" to the attach operation and so it seems like a natural place to put it. Is is possible to even create a field in the object?

from external-attacher.

jsafrane avatar jsafrane commented on May 20, 2024

Yesterday our Kubernetes CSI workgroup decided that we'll put Node ID into VolumeAttachment annotation during attach / ControllerPublish. Downside of this approach is that it's not updated when a driver gets updated and starts reporting different NodeID than before. The driver must accept old Node ID in this case.

/assing
(but patches are welcome)

from external-attacher.

jsafrane avatar jsafrane commented on May 20, 2024

/assign

from external-attacher.

davidz627 avatar davidz627 commented on May 20, 2024

@davidz627, sorry, I did not see your comment (github outage?)

I could add a field for it, still I have bad feeling about it. If a driver is updated while a volume is attached, we should use the new NodeID. Using an old Node ID from VolumeAttachment annotation or field feels like workaround.

I see now from your PR that this is a backup only when the Node is gone. I did not realize that before, annotation seems like the right way here.

from external-attacher.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.