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

feat: persistent user home documentation #2822

Merged
merged 10 commits into from
Dec 3, 2024

Conversation

dkwon17
Copy link
Contributor

@dkwon17 dkwon17 commented Nov 19, 2024

What does this pull request change?

This PR adds documentation about the persistent user home feature.

Screenshot from 2024-11-19 15-52-53

What issues does this pull request fix or reference?

eclipse-che/che#23075

Specify the version of the product this pull request applies to

7.94.x, next

Pull Request checklist

The author and the reviewers validate the content of this pull request with the following checklist, in addition to the automated tests.

  • Any procedure:
    • Successfully tested.
  • Any page or link rename:
    • The page contains a redirection for the previous URL.
    • Propagate the URL change in:
  • Builds on Eclipse Che hosted by Red Hat.
  • the Validate language on files added or modified step reports no vale warnings.

@dkwon17 dkwon17 requested review from deerskindoll and a team as code owners November 19, 2024 20:56
@dkwon17 dkwon17 requested a review from ibuziuk November 19, 2024 20:56
Copy link

github-actions bot commented Nov 19, 2024

🎊 Navigate the preview: https://674de45580bda81538b4acb0--eclipse-che-docs-pr.netlify.app 🎊

Copy link

github-actions bot commented Nov 19, 2024

Click here to review and test in web IDE: Contribute

Copy link
Contributor

@deerskindoll deerskindoll left a comment

Choose a reason for hiding this comment

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

a couple of tweaks

@dkwon17
Copy link
Contributor Author

dkwon17 commented Nov 21, 2024

Thank you @deerskindoll for the review, I've applied the changes

Copy link
Contributor

@deerskindoll deerskindoll left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Contributor

@AObuchow AObuchow left a comment

Choose a reason for hiding this comment

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

@dkwon17 this looks great to me, you did a really good job at concisely and clearly explaining how the home persistence feature works and its requirements, which is a very difficult thing to do.

I left some very minor feedback :)

.Tools container with `persistUserHome` enabled
image::persistent-user-home/tools-container-example.png[Persistent user home example scenario]

The init container writes the output of the `stow` command to `/home/user/.stow.log` and will only run `stow` the first time the PVC is mounted to the workspace.
Copy link
Contributor

Choose a reason for hiding this comment

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

Technical nitpick: Isin't the stow command run only the first time when the workspace is started up? When aa workspace pod gets terminated (if the workspace shuts down) won't it unmount to the PVC and then get mounted again?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right, what I mean is it runs the first time it's mounted, in the second/third/fourth workspace starts, it's the second/third/fourth time it's mounted, so it doesn't run.

Is the wording is a bit unclear?

In my latest commit, I've updated it to:

The init container writes the output of the `stow` command to `/home/user/.stow.log`
and will only run `stow` the first time the persistent volume is mounted to the workspace. 

Using the `stow` command to populate `/home/user` content in the persistent volume provides two main advantages.

. Creating symbolic links is faster than creating copies of the `/home/user` folder content in the persistent volume. To put it differently, the persistent volume in this case contains symbolic links and not the actual files themselves.
. If the tools image is updated with newer versions of existing binaries, configs, and files, the init container does not need to `stow` the new versions, as the existing symbolic links will link to the newer versions in `/home/tooling` already.
Copy link
Contributor

Choose a reason for hiding this comment

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

Something that just occurred to me: if the tooling image is updated with additional binaries, files etc. they won't be copied to the /home/user/ directory since the stow command won't be run again.

This may be something we want to document in the future (or somewhere in this document as a small note that the user should delete the /home/user/.stow_completed file and restart the workspace to pick up these additional files)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've added this note:
image

Copy link
Contributor

Choose a reason for hiding this comment

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

Perfect! Thank you :)

@dkwon17
Copy link
Contributor Author

dkwon17 commented Nov 29, 2024

Thank you for the review @AObuchow , I've made updates

Signed-off-by: dkwon17 <[email protected]>
@ibuziuk
Copy link
Member

ibuziuk commented Dec 2, 2024

@deerskindoll once merged, please backport to 7.95.x for 3.18

@dkwon17 dkwon17 merged commit fc0dbec into eclipse-che:main Dec 3, 2024
6 checks passed
deerskindoll added a commit that referenced this pull request Dec 4, 2024
* feat: persistent user home documentation

Signed-off-by: dkwon17 <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update modules/administration-guide/pages/about-persistent-user-home.adoc

Co-authored-by: Jana Vrbkova <[email protected]>

* Update based on PR feedback

Signed-off-by: dkwon17 <[email protected]>

* Update stow version

Signed-off-by: dkwon17 <[email protected]>

* Update PR typo

Signed-off-by: dkwon17 <[email protected]>

---------

Signed-off-by: dkwon17 <[email protected]>
Co-authored-by: Jana Vrbkova <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants