Skip to content

csi: add publishContext to actor volumes - #1578

Open
hajiler wants to merge 1 commit into
agent-substrate:mainfrom
hajiler:csi-publish-context-access-modes
Open

hajiler wants to merge 1 commit into
agent-substrate:mainfrom
hajiler:csi-publish-context-access-modes

Conversation

@hajiler

@hajiler hajiler commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

#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.

  • [X ] Tests pass
  • Appropriate changes to documentation are included in the PR

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.
@hajiler
hajiler marked this pull request as ready for review September 9, 2026 22:31
attached[vol.GetVolumeName()] = vol

}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a standard limitation? Can publish context frequently cross this limit, what happens if publish context > 256 characters?

@bowei Bowei Du (bowei) added kind/feature An enhancement / feature request or implementation area/storage area/node labels Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/node area/storage kind/feature An enhancement / feature request or implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants