Skip to content

Backport Unify snapshotters and separate scratch and image layers change#30

Merged
ambarve merged 1 commit intokevpar:fork/release/1.4from
ambarve:backport_separate_scratch
Jan 25, 2022
Merged

Backport Unify snapshotters and separate scratch and image layers change#30
ambarve merged 1 commit intokevpar:fork/release/1.4from
ambarve:backport_separate_scratch

Conversation

@ambarve
Copy link
Copy Markdown
Collaborator

@ambarve ambarve commented Nov 22, 2021

  • Refactor windows snapshotters

Both LCOW & WCOW snapshotters have many functions that are identical and some other
functions have common code. This change refactors those snapshotters to remove duplicate
code.
This refactor will also help when adding other features like storing scratch snapshots in a
different location.

  • Support to override scratch snapshot location

Some containers do heavy IO to the scratch, in case of LCOW/WCOW the scratch itself is a
VHD that is stored on the same disk as that of other snapshots (including the image
layers). If containerd is pulling multiple images and one or more containers are doing
heavy IO to the scratch at the same time, that causes disk contention and related
issues. This change allows the user to set a config (either in containerd.toml or in the
container configuration) that specifies another directory inside which the scratch of all
containers (or that specific container) should be stored.

Signed-off-by: Amit Barve ambarve@microsoft.com
(cherry picked from commit 333a72b)
Signed-off-by: Amit Barve ambarve@microsoft.com

…ifferent directory (containerd#27)

* Refactor windows snapshotters

Both LCOW & WCOW snapshotters have many functions that are identical and some other
functions have common code. This change refactors those snapshotters to remove duplicate
code.
This refactor will also help when adding other features like storing scratch snapshots in a
different location.

* Support to override scratch snapshot location

Some containers do heavy IO to the scratch, in case of LCOW/WCOW the scratch itself is a
VHD that is stored on the same disk as that of other snapshots (including the image
layers). If containerd is pulling multiple images and one or more containers are doing
heavy IO to the scratch at the same time, that causes disk contention and related
issues. This change allows the user to set a config (either in containerd.toml or in the
container configuration) that specifies another directory inside which the scratch of all
containers (or that specific container) should be stored.

Signed-off-by: Amit Barve <ambarve@microsoft.com>
(cherry picked from commit 333a72b)
Signed-off-by: Amit Barve <ambarve@microsoft.com>
@ambarve
Copy link
Copy Markdown
Collaborator Author

ambarve commented Nov 22, 2021

@dcantah , @anmaxvl & @helsaawy Could you approve this backport to fork/release/1.4 also? Thanks.

@katiewasnothere
Copy link
Copy Markdown
Collaborator

@ambarve what's the status of this?

@ambarve ambarve merged commit e21cab4 into kevpar:fork/release/1.4 Jan 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants