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

If I create a new dataset nested in webdav share dataset the container doesn't be aware #2508

Open
sync-by-unito bot opened this issue May 24, 2024 · 7 comments
Assignees

Comments

@sync-by-unito
Copy link

sync-by-unito bot commented May 24, 2024

Hi,

I found a wrong behaviour in webdav container related to dataset use.

Suppose I create a webdav app related to a dedicated dataset (for example “webdav-share”). I set the state of the container in Running.

I’m able to use webdav withotu any kind of problem. After a while I decide to create a new dataset under the first one (for example “webdav-share/nested”).

The container see the directory that will be created but it doesn’t access the nested dataset.

So if I try to upload a file in “webdav-share” dir all works fine.

If change directory in my webdav client and I go in “webdav-share/nested” when I upload a file I receive “500 internale server error” and I cannot do it.

No way to write in that directory.

Only if I restart the container the container became aware of the second dataset and only after that I can write/upload in.

┆Attachments: immagine-20240524-151346.png

@stavros-k
Copy link
Contributor

Hello, what user/group ID do you run webdav as?
Does this user/group have access to the nested dataset?
Do you have the "Fix permissions" enabled?

Copy link
Author

sync-by-unito bot commented May 24, 2024

➤ Rosario Pagano commented:

Is a local user which with uid 3322 and gid 3322.

The dataset ha rwx for that uid, --- for that gid and --- for others

obviously the nested dataset has the same identical permissions

“Fix permissions” is unset (but looking at the guide it should set permissions only during deploynig phase)

using other protocols the same user can write without any kind of problem.

Copy link
Author

sync-by-unito bot commented May 24, 2024

➤ Rosario Pagano commented:

I forgot to say the obviously user and group of webdav container are 3322 3322

Copy link
Author

sync-by-unito bot commented May 24, 2024

➤ Rosario Pagano commented:

A second point (I don’t know if you prefer to create a new ticket) is that after container is aware of the subdataset I cannot delete it (in this case “nested”).

I had to stop webdav, delete dataset “nested” and after that start again the webdav.

Seems like webdav doesn’t permit to manage/make any change in dataset structure. I cannot add, modify or remove any sub-dataset related to share dataset.

Copy link
Author

sync-by-unito bot commented May 24, 2024

➤ Stavros Kois commented:

I expect that you have the same issue on all apps.
Considering it is a new filesystem, containers are not picking it up.
There might be “knobs” in kubernetes to turn to make that happen, but this will need to be investigated first for side effects.

I’ll let you know once I have more details.

Copy link
Author

sync-by-unito bot commented May 24, 2024

➤ Rosario Pagano commented:

Hi,

I can confirm that only webdav is impacted by this behaviour.

I executed a new test turning on a smb share on the same webdav-share dataset and activeting ssh service (to be able to connect using sftp) for the user 3322 (home dir obviously is always the same).

In this way I had 3 services for the same user (3322:3322) that use the same dataset (with approprieted permissions).

After that I created a new dataset under webdav-share (webdav-share\test-services) and I tried to upload some files.

For sftp I used FileZilla and I was able to upload a file.

For smb I connected a new drive on my windows laptop and I was able to copy a file

For webdav instead I received error

!immagine-20240524-151346.png|width=559,height=346,alt="immagine-20240524-151346.png"!

I suppose you can replicate the behaviour in you lab.

This may depends on the fact that smb and ssh/sftp are system services but webdav is an app on kubernetes. Probably other k8s apps my result in the same behaviour.

Copy link
Author

sync-by-unito bot commented Jun 5, 2024

➤ Rosario Pagano commented:

Hi,

any news on this task?

I would like to inform you that this problem impact also snapshot.

If a take a normal snapshot of the dataset provided to weddav and try to access it the app isn’t able to go in.

I must stop and start the app. After that I can navigate .zfs dir

Another problem more relevant is that there is no way to delete the snapshot. Even if I stop the app I always receive “dataset is busy”.

The only way to do it is to go in a shell and umount manually the snapshot. After that I’m able to delete snapshot.

This is a big problem because I cannot use API to umount a snap and I cannot access by shell every time I want to delete a snapshot.

Regards

Rosario

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

No branches or pull requests

1 participant