skip xfs quota tests when running in user namespace#35526
Conversation
|
linking the pull request that introduced this: #35231 ping @sargun @kolyshkin PTAL |
|
Nice to see you over here @brauner :) This seems totally reasonable to me given the limitations when running in a userns. We have talked about trying to add some form of "run Docker in a userns" integration test to CI to keep from these breakages when we added the initial capability with @hallyn but it's a bit tricky since it adds host requirements (e.g. a properly configured |
|
@estesp, very happy to see you man! :) I hope post-conference season things have been a little more quiet for you. :)
We've set something like this up for ourselves though it's rather hacky atm ( https://github.com/lxc/lxc-ci/blob/master/bin/test-lxd-docker ) but it at least allows us to see breakages. |
|
@estesp https://jenkins.linuxcontainers.org/job/lxd-test-docker/ That's run daily on our Jenkins and helped quite a bit to pinpoint this issue within a 24h commit window. |
|
Indeed, CAP_MKNOD is not allowed for userns. LGTM except for the commit message which is a bit misleading as it tells about tests, while the code it modifies is not in tests. I think it should say what it does (returns "quota not supported" for project quota when running in userns). Surely it needs to be mentioned that this was found due to failed tests, and the tests are no longer failing after this commit. Perhaps @sargun can come up with a better decription? |
|
@kolyshkin would "feature detection" instead of "tests" better fit your expectation? |
With "test" I'm simply trying to refer to
It wasn't found due to failed test in moby's test suite so that would be inaccurate I think. |
|
Oh, sorry about it, I got it now. I was fooled by "xfs quota tests" and "Skip quota tests", which sounds like we talk about some unit tests. Perhaps it can be phrased as "Skip further checks for quota if we are running in a user namespace, returning ErrQuotaNotSupported" or smth. Anyway, LGTM |
Commit 7a1618c regresses running Docker in user namespaces. The new check for whether quota are supported calls NewControl() which in turn calls makeBackingFsDev() which tries to mknod(). Skip quota tests when we detect that we are running in a user namespace and return ErrQuotaNotSupported to the caller. This just restores the status quo. Signed-off-by: Christian Brauner <[email protected]>
8ec55a6 to
7e35df0
Compare
Oh sure, np. I updated the commit message nothing else was changed: |
|
Thanks everyone! |
Commit 7a1618c regresses running Docker
in user namespaces. The new test for quota support calls NewControl()
which in turn calls makeBackingFsDev() which tries to mknod(). Skip
quota tests when we detect that we are running in a user namespace. This
just restores the status quo.
Signed-off-by: Christian Brauner [email protected]
- What I did
Skip newly introduced check for quota support when running in user namespaces.
- How I did it
Added a check whether we are running in user namespace.
- How to verify it
Tests have been added for quota support as part of 7a1618c.
- Description for the changelog
skip xfs quota tests when running in user namespace