mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
userns: Improve error returned if userns is not supported
This makes it clear the error comes due to a user namespace configuration. Otherwise the error returned looks too generic and is not clear. Before this PR, the error was: Warning FailedCreatePodSandBox 1s kubelet Failed to create pod sandbox: the handler "" is not known Now it is: Warning FailedCreatePodSandBox 1s kubelet Failed to create pod sandbox: runtime does not support user namespaces Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
This commit is contained in:
parent
992924664b
commit
514da8a95a
@ -417,10 +417,15 @@ func (m *UsernsManager) GetOrCreateUserNamespaceMappings(pod *v1.Pod, runtimeHan
|
||||
// From here onwards, hostUsers=false and the feature gate is enabled.
|
||||
|
||||
// if the pod requested a user namespace and the runtime doesn't support user namespaces then return an error.
|
||||
if handlerSupportsUserns, err := m.kl.HandlerSupportsUserNamespaces(runtimeHandler); err != nil {
|
||||
return nil, err
|
||||
} else if !handlerSupportsUserns {
|
||||
return nil, fmt.Errorf("RuntimeClass handler %q does not support user namespaces", runtimeHandler)
|
||||
if handlerSupportsUserns, err := m.kl.HandlerSupportsUserNamespaces(runtimeHandler); err != nil || !handlerSupportsUserns {
|
||||
msg := "can't set `spec.hostUsers: false`, runtime does not support user namespaces"
|
||||
if runtimeHandler != "" {
|
||||
msg = fmt.Sprintf("can't set `spec.hostUsers: false`, RuntimeClass handler %q does not support user namespaces", runtimeHandler)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v: %w", msg, err)
|
||||
}
|
||||
return nil, fmt.Errorf("%v", msg)
|
||||
}
|
||||
|
||||
m.lock.Lock()
|
||||
|
Loading…
Reference in New Issue
Block a user