diff --git a/integration-cli/docker_cli_userns_test.go b/integration-cli/docker_cli_userns_test.go index ab503b4038..967debd581 100644 --- a/integration-cli/docker_cli_userns_test.go +++ b/integration-cli/docker_cli_userns_test.go @@ -20,7 +20,7 @@ import ( // 1. validate uid/gid maps are set properly // 2. verify that files created are owned by remapped root func (s *DockerDaemonSuite) TestDaemonUserNamespaceRootSetting(c *check.C) { - testRequires(c, DaemonIsLinux, SameHostDaemon) + testRequires(c, DaemonIsLinux, SameHostDaemon, UserNamespaceInKernel) c.Assert(s.d.StartWithBusybox("--userns-remap", "default"), checker.IsNil) diff --git a/integration-cli/requirements.go b/integration-cli/requirements.go index 6b89494f91..a53d546b95 100644 --- a/integration-cli/requirements.go +++ b/integration-cli/requirements.go @@ -149,9 +149,20 @@ var ( */ return false } + + // We need extra check on redhat based distributions + if f, err := os.Open("/sys/module/user_namespace/parameters/enable"); err == nil { + b := make([]byte, 1) + _, _ = f.Read(b) + if string(b) == "N" { + return false + } + return true + } + return true }, - "Kernel must have user namespaces configured.", + "Kernel must have user namespaces configured and enabled.", } NotUserNamespace = testRequirement{ func() bool {