Comments (7)
@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.
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.
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.
@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.
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.
/assign
from external-attacher.
@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)
- csi-attacher:v3.3.0 image unavailable HOT 3
- csi-attacher image is having vulneraility HOT 5
- Attachment reconciler is incorrectly using nodeid annotation HOT 5
- Retry on attach error does not respect exponential backoff
- csi-attacher:v3.4.0 image unavailable HOT 1
- change default fstype from "ext4" to empty string HOT 4
- Single timeout for attachment/detachment and reconcile resync operations not always appropriate HOT 14
- Emit events on detach errors HOT 18
- Version 3.5.0 vulnerability with CVE-2022-1996 HOT 11
- Question about reconciling (reconcileVA) based on RPC_LIST_VOLUMES_PUBLISHED_NODES HOT 6
- Broken link of `contributor cheat sheet` needs to fix
- csi attacher report panic in log HOT 5
- Uncertain handling for attach HOT 13
- VolumeAttachment has attached status true but actual state false HOT 12
- Readme has incorrect compatibility information for kubernetes version HOT 5
- 7 High Security vulnerability on latest CSI-attacher:v4.3.0 sidecar image HOT 7
- `fault.CnsNotRegisteredFault.summary` while consuming a volume by a pod HOT 2
- Attacher doesn't allow to set volumes limit in the ListVolume request
- VolumeAttachment takes too long to remove HOT 6
- ListVolumes : Panic detected on v4.4.1 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from external-attacher.