Skip to content

[HWORKS-3227] Removing a member from a project leaves their home directory owned by a user with no access - #649

Open
jimdowling wants to merge 3 commits into
logicalclocks:mainfrom
jimdowling:HWORKS-3227
Open

[HWORKS-3227] Removing a member from a project leaves their home directory owned by a user with no access#649
jimdowling wants to merge 3 commits into
logicalclocks:mainfrom
jimdowling:HWORKS-3227

Conversation

@jimdowling

Copy link
Copy Markdown
Contributor

The manage-members guide said nothing about what becomes of the files a removed member leaves behind, which is the question an administrator asks before removing anyone.

It now says that the member's project home directory and its whole subtree are transferred to the data owner who has been in the project longest, that contents and paths are untouched, and it names the two cases where nothing is transferred: a removal that asks for the directory to be deleted, and a project with no data owner left. Service accounts are never chosen.

Documents the behaviour added in hopsworks-ee#3331.

Gates run locally: hopsworks-docs markdownlint (240 files, 0 errors), hopsworks-docs snakeoil (clean, no rewrite of the new text) and hopsworks-docs check (mkdocs strict build, passed in 61s). The build needs the Python client installed in the docs venv, which is an environment step rather than anything in this change.

🤖 Generated with Claude Code

…ctory owned by a user with no access

https://hopsworks.atlassian.net/browse/HWORKS-3227

The manage-members guide said nothing about what becomes of the files a
removed member leaves behind, which is the question an administrator
asks before removing anyone.

It now says that the member's project home directory and its whole
subtree are transferred to the data owner who has been in the project
longest, and names the two cases where nothing is transferred: a
removal that asks for the directory to be deleted, and a project with
no data owner left.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The newly added prose includes a multi-sentence line that violates the repo’s “one sentence per line” Markdown convention.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates the Hopsworks documentation site (MkDocs) to clarify what happens to a user’s project home directory when that user is removed from a project, addressing an admin-facing “what happens to their files?” question.

Changes:

  • Added a new subsection explaining ownership transfer behavior for a removed member’s project home directory subtree.
  • Documented the two exception cases where no transfer occurs and clarified that service accounts are not selected as the new owner.
File summaries
File Description
docs/user_guides/projects/project/manage_members.md Adds a “What happens to a removed member’s files” section describing directory ownership transfer rules and exceptions.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


Each member has a private home directory in the project, `/Projects/<project>/Users/<username>`, holding their notebooks, their SSH key and their agent configuration.

When a member is removed, that directory and everything under it is transferred to the data owner who has been a member of the project the longest. The files keep their contents and their paths; only the owner changes. The removed member loses access, as they do to the rest of the project.
jimdowling and others added 2 commits September 9, 2026 11:31
…ctory owned by a user with no access

https://hopsworks.atlassian.net/browse/HWORKS-3227

The guide now says that the remove dialog asks which data owner takes
the files, and that it starts on the longest-serving one, which is what
the API does when the request names nobody. It says why only data
owners are offered, and that the transfer runs in the background, since
a member with a large home directory does not hand over instantly.

The table of exceptions gains the refusal: a removal that would leave
the project with no data owner does not go through, and the guide says
what to do about it. The old row claiming the directory keeps its owner
in that case is gone, because that case can no longer happen.

The SDK snippet shows all three forms: the default, a named owner, and
deleting the files instead.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ctory owned by a user with no access

https://hopsworks.atlassian.net/browse/HWORKS-3227

Say where the new owner finds the handed-over home directory.

The directory keeps the removed member's name, so a data owner who
takes the files over goes looking for their own name and does not find
them. The page said the paths do not change without saying what that
means for the person now holding them.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants