Conversation
Some CSI drivers require attachment metadata (e.g. device path) for publishing a volume. This PR adds a publishContext to actor volumes and persists it during a volume's lifecycle.
| attached[vol.GetVolumeName()] = vol | ||
|
|
||
| } | ||
|
|
There was a problem hiding this comment.
Should we skip the DB update if there are no external volumes to be attached? i.e len(attached) == 0
|
|
||
| } | ||
|
|
||
| storedActor, updateErr := w.store.UpdateActor(ctx, actorRef, store.PreconditionFrom(actor), func(toUpdate *ateapipb.Actor) error { |
There was a problem hiding this comment.
How do we use this publish context information stored for a volume? I do not see a DB update on volume detach, if we plan to use the DB details to get the current publish context for the actor volume then it might not have the right details. Though, if the details are checked only for a running actor then implicitly the actor volumes are already attached and thus the DB has correct up-to-date information.
| // +k8s:optional | ||
| // +k8s:maxProperties=32 | ||
| // +k8s:eachKey=+k8s:maxLength=128 | ||
| // +k8s:eachVal=+k8s:maxLength=256 |
There was a problem hiding this comment.
Is this a standard limitation? Can publish context frequently cross this limit, what happens if publish context > 256 characters?
#1077
When publishing volumes, some CSI drivers require additional metadata (e.g. device) path for attachment. This PR adds a publishContext to actor external volumes and integrates into the actor life cycle.