Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scheduler: volume updates should always be destructive #13008

Merged
merged 1 commit into from
May 13, 2022
Merged

Conversation

tgross
Copy link
Member

@tgross tgross commented May 13, 2022

Fixes #12963

No task driver with file system isolation can support updating mounts in-place. Host volume and CSI volume or volume mount additions or updates should therefore always be destructive.


This changeset includes some unit testing but I've manually tested it on real CSI volumes as well. Adding a new volume:

$ nomad job plan ./demo/csi/hostpath/redis.nomad
+/- Job: "example"
+/- Task Group: "cache" (1 create/destroy update)
  +   Volume {
      + AccessMode:     "single-node-reader-only"
      + AttachmentMode: "file-system"
      + Name:           "volume0"
      + PerAlloc:       "true"
      + ReadOnly:       "true"
      + Source:         "test-volume"
      + Type:           "csi"
      }
  +/- Task: "redis" (forces in-place update)

Altering an existing volume:

$ nomad job plan ./demo/csi/hostpath/redis.nomad
+/- Job: "example"
+/- Task Group: "cache" (1 create/destroy update)
  +/- Volume {
    +/- AccessMode:     "single-node-reader-only" => "single-node-writer"
        AttachmentMode: "file-system"
        Name:           "volume0"
        PerAlloc:       "true"
    +/- ReadOnly:       "true" => "false"
        Source:         "test-volume"
        Type:           "csi"
      }
      Task: "redis"

@tgross tgross marked this pull request as ready for review May 13, 2022 15:00
@tgross tgross added this to the 1.3.1 milestone May 13, 2022
@tgross tgross added backport/1.1.x backport to 1.1.x release line backport/1.2.x backport to 1.1.x release line backport/1.3.x backport to 1.3.x release line type/bug labels May 13, 2022
Copy link
Contributor

@DerekStrickland DerekStrickland left a comment

Choose a reason for hiding this comment

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

:shipit:

@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/1.1.x backport to 1.1.x release line backport/1.2.x backport to 1.1.x release line backport/1.3.x backport to 1.3.x release line type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding CSI volume in-place Job update has no effect
2 participants