glideinWMS / glideinwms

The glideinWMS Project
http://tinyurl.com/glideinwms
Apache License 2.0
16 stars 46 forks source link

Absence of Process-Level Isolation by Glideins With On-Demand CVMFS #287

Open namrathaurs opened 1 year ago

namrathaurs commented 1 year ago

THIS IS A KNOWN ISSUE WITH GLIDEINWMS >= 3.10.2.rc2

During the testing of release candidate for 3.10.2, when multiple glideins are requested in the factory and CVMFS is to be mounted on demand, every glidein after the first one ends up failing because the number of repositories mounted does not match the expected number of repositories that needs to be mounted during the glidein's startup process. This is achieved through a verification check that is in place to ensure that the intended number of CVMFS repositories are mounted by every glidein when the on-demand CVMFS feature is enabled.

Notes from discussion with Dave Dykstra about the observed behavior: The above observation was discussed with Dave and he confirmed that CVMFS mount points are visible to all users when mounted. More technically, user-level isolation exists but not process-level isolation. Although ideally we'd like to have process-level isolation, it is not possible since the repositories are being mounted using mode 1 of cvmfsexec (i.e. via mountrepo utility). While this could be overcome by switching to mode 3 (at the time of opening this issue report, provision for mode 3 is currently in testing), the question about how can it be determined as to which mount points to be unmounted still needs some thought.

Possible solution: Improvise the verification check to handle the detection of mounted repositories at the glidein-level instead