samba-in-kubernetes / sit-environment

SIT (Samba Integration Testing) Framework
GNU General Public License v3.0
1 stars 7 forks source link

Add VFS support to CephFS backend #32

Closed xhernandez closed 11 months ago

xhernandez commented 1 year ago

I'm not sure what's wrong, but most of the tests fail with error NT_STATUS_NO_MEMORY. Even increasing VM's memory to 4 GiB the error is the same. I'll try to investigate this a bit more.

obnoxxx commented 1 year ago

@xhernandez wrote:

I'm not sure what's wrong, but most of the tests fail with error NT_STATUS_NO_MEMORY. Even increasing VM's memory to 4 GiB the error is the same. I'll try to investigate this a bit more.

This might already be a first indication that the cephfs vfs module has the same problem as the gluster module:

for each share connection (not TCP connection), the entire cephfs client lib is instantiated to establish a ceph connection from userspace. since the lib is rather heavyweight, this can lead to memory problems when a lot of share connections are established by a test or other workload.

xhernandez commented 1 year ago

I'm not sure what's wrong, but most of the tests fail with error NT_STATUS_NO_MEMORY. Even increasing VM's memory to 4 GiB the error is the same. I'll try to investigate this a bit more.

This might already be a first indication that the cephfs vfs module has the same problem as the gluster module:

for each share connection (not TCP connection), the entire cephfs client lib is instantiated to establish a ceph connection from userspace. since the lib is rather heavyweight, this can lead to memory problems when a lot of share connections are established by a test or other workload.

I don't understand exactly why, but the problem was that CTDB was checking the presence of the path of the samba shares. Since the path is not physically there, CTDB was not going up and clients were unable to connect. I've disabled this check and "only" 5 tests have failed.

I'm not sure how this translates into memory errors, but now they have disappeared.

phlogistonjohn commented 1 year ago

There are parts of the code base that chooses some pretty odd error codes. It was probably due to that.

xhernandez commented 1 year ago

/retest centos-ci

xhernandez commented 1 year ago

/retest centos-ci/xfs

anoopcs9 commented 1 year ago

I'm not sure what's wrong, but most of the tests fail with error NT_STATUS_NO_MEMORY. Even increasing VM's memory to 4 GiB the error is the same. I'll try to investigate this a bit more.

This might already be a first indication that the cephfs vfs module has the same problem as the gluster module: for each share connection (not TCP connection), the entire cephfs client lib is instantiated to establish a ceph connection from userspace. since the lib is rather heavyweight, this can lead to memory problems when a lot of share connections are established by a test or other workload.

I don't understand exactly why, but the problem was that CTDB was checking the presence of the path of the samba shares. Since the path is not physically there, CTDB was not going up and clients were unable to connect. I've disabled this check and "only" 5 tests have failed.

Look what I found: https://wiki.samba.org/index.php/Samba_CTDB_GlusterFS_Cluster_HowTo#The_file_script.options. People already knew but we haven't had any problems reported with GlusterFS as not many might have used subdir based shares while setting up Samba.